【初心者】Java質問・相談スレ4【大歓迎】

このエントリーをはてなブックマークに追加
11
JAVA初心者の方はこちらのスレで質問をしましょう。そして誰か教えてあげてください。

なお、ソースを貼るときには、半角空白が消える仕様のため、タブ1つを全角空白2つに
置換してから投稿しましょう。雑誌や宿題などの疑問を質問するときは出展を明記した
ほうが解決が早いです。

関連情報は >>2-10 あたりにあります。 (一部 dat落ちやHTML化待ち)


JavaScriptの質問はWeb製作板へどうぞ。
web制作管理
http://pc.2ch.net/hp/

パソコンの基本操作に関しては、PC初心者板や、各OS板などで質問しましょう。
パソコン初心者@2ch掲示板
http://pc.2ch.net/pcqa/

上級者の方で教える技術が無い方は下記スレでダベりましょう。
初心者無視! Java相談室 その9
http://pc.2ch.net/test/read.cgi/tech/1021555964/


基本的にsage進行でおねがいします。
21:02/07/14 08:10
JAVA厨房
http://piza.2ch.net/tech/kako/966/966391052.html

Java相談室
http://piza.2ch.net/tech/kako/971/971960169.html
Java相談室 Part2
http://piza.2ch.net/tech/kako/980/980858322.html
Java相談室 Part3
http://piza2.2ch.net/tech/kako/994/994150280.html
Java相談室 Part4
http://pc.2ch.net/test/read.cgi/tech/997791189/
Java相談室part5
http://pc.2ch.net/test/read.cgi/tech/1003567552/

ネタ心者歓迎!今更ながらにJavaを学ぼう!
http://piza.2ch.net/tech/kako/981/981424252.html
ネタ心者歓迎!今更ながらにJavaを学ぼう! その弐
http://pc.2ch.net/test/read.cgi/tech/993358225/
ネタ心者歓迎! 今更ながらにJava相談室
http://pc.2ch.net/test/read.cgi/tech/1003569074/
ネタ心者歓迎!今更ながらにJava相談室  その2
http://pc.2ch.net/test/read.cgi/tech/1006408230/
ネタ心者歓迎!今更ながらにJava相談室  その3
http://pc.2ch.net/test/read.cgi/tech/1007802486/
ネタ心者歓迎!今更ながらにJava相談室 その4
http://pc.2ch.net/test/read.cgi/tech/1010545421/
初心者歓迎! Java相談室 その5
http://pc.2ch.net/test/read.cgi/tech/1012968994/
初心者歓迎! Java相談室 その6
http://pc.2ch.net/test/read.cgi/tech/1015418174/
初心者歓迎! Java相談室 その7
http://pc.2ch.net/test/read.cgi/tech/1018631329/
初心者歓迎! Java相談室 その8
http://pc.2ch.net/test/read.cgi/tech/1020453823/

【初心者・ネタ】Java質問・相談スレ【大歓迎】
http://pc.2ch.net/test/read.cgi/tech/1021817147/
【初心者】Java質問・相談スレ2【大歓迎】
http://pc.2ch.net/test/read.cgi/tech/1023319551/
【初心者】Java質問・相談スレ3【大歓迎】
http://pc.2ch.net/test/read.cgi/tech/1024885660/

31:02/07/14 08:10
■■■ Javaの基本的なクラスやパッケージについての解説。 ■■■
Java 2 プラットフォーム API 仕様
http://java.sun.com/j2se/1.3/ja/docs/ja/api/index.html

Javaについてのよくある質問と回答集。
Java House ML Topics
http://java-house.etl.go.jp/ml/topics/

Java言語規定 目次
http://www.y-adagio.com/public/standards/tr_javalang/index.htm

Java(TM) 2 SDK ドキュメント
http://java.sun.com/j2se/1.3/ja/docs/ja/index.html

41:02/07/14 08:10
■■■ Java関連スレいろいろ ■■■

統合開発環境。

JAVA開発環境 "eclipse" is COOL!!
http://pc.2ch.net/test/read.cgi/tech/1013268002/
JAVA/C++開発環境 "eclipse" スレッド 2
http://pc.2ch.net/test/read.cgi/tech/1023103421/

[Java]JBuilder5[Java]
http://pc.2ch.net/test/read.cgi/tech/995044723/
【Meadow】Java開発環境(・∀・)イイ【JDEE】
http://pc.2ch.net/test/read.cgi/tech/1017214967/
Forte for Java
http://pc.2ch.net/test/read.cgi/tech/1016161880/
IBM VisualAge for JAVA
http://pc.2ch.net/test/read.cgi/tech/989931658/

サーバサイド。

JAVAサーブレットQ&A
http://pc.2ch.net/test/read.cgi/tech/972229341/
JavaサーブレットQ&A LV2
http://pc.2ch.net/test/read.cgi/tech/1012728608/
サーバーサイドJAVAをまたーり語るスレ
http://pc.2ch.net/test/read.cgi/tech/1004972840/

携帯。

携帯JAVAのスレッド
http://pc.2ch.net/test/read.cgi/tech/1011977260/
iアプリ
http://pc.2ch.net/test/read.cgi/tech/1000723476/
i‐MODEのJAVA
http://piza2.2ch.net/tech/kako/975/975428633.html
iアプリでゲーム
http://game.2ch.net/test/read.cgi/gamedev/1005042631/

その他。

クライアントサイドJavaどうよ?
http://pc.2ch.net/test/read.cgi/tech/1002160815/
【祝】 JDK 1.4 βリリース
http://pc.2ch.net/test/read.cgi/tech/990949654/
Pure Java Mail Server
http://pc.2ch.net/test/read.cgi/tech/1009991622/
Java Media Framework とか
http://pc.2ch.net/test/read.cgi/tech/1015938096/

Javaアプレットのゲームの限界は!
http://game.2ch.net/test/read.cgi/gamedev/1005230153/l10
51:02/07/14 08:10
■■■ 撲滅させたいかた、死滅を心配してるかた ■■■

CとJavaを比較した場合Cの良いとこと悪いとこ
http://pc.2ch.net/test/read.cgi/tech/1009707596/

JavaとC++はどちらが良いのですか?
http://pc.2ch.net/test/read.cgi/tech/1023079017/
??Javaってどこで使われてるの??
http://pc.2ch.net/test/read.cgi/tech/1026137766/
Javaは難しすぎ
http://pc.2ch.net/test/read.cgi/tech/1022667056/

Java撲滅委員会
http://pc.2ch.net/test/read.cgi/tech/996848309/

●●JAVAって死滅しちゃうの????●●
http://pc.2ch.net/tech/kako/1005/10051/1005159122.html
●●JAVAって死滅しちゃうの???? PART2●●
http://pc.2ch.net/tech/kako/1006/10060/1006053686.html
●●JAVAって死滅しちゃうの???? PART3●●
http://pc.2ch.net/tech/kako/1008/10081/1008162230.html

61:02/07/14 08:11
■■■ Javaの基礎と よくある質問 ■■■

Q: クラスの使い方が分かりません。
A: Java 2 プラットフォーム API 仕様
http://java.sun.com/j2se/1.3/ja/docs/ja/api/index.html

Q: SDKの仕様や、Javaの使い方、コマンドの使い方を教えて下さい。
A: Java(TM) 2 SDK ドキュメント
http://java.sun.com/j2se/1.3/ja/docs/ja/index.html

Q: Javaの言語仕様が知りたいです。
A: Java言語規定
http://www.y-adagio.com/public/standards/tr_javalang/index.htm
http://java.sun.com/docs/books/jls/second_edition/html/j.title.doc.html

Q: 「僕以外の人も、同じ疑問を持ったはず」と思えるような質問があります。
A: Java House ML Topics / Java FAQ / Java Tips
http://java-house.etl.go.jp/ml/topics/
http://www.gimlay.org/~javafaq/
http://www.javaworld.com/columns/jw-tips-index.shtml

Q: 僕、サルなんですけど・・・。
A: サルにはわかるヒアリングJava入門(マルチランゲージ対応)
http://www.asahi-net.or.jp/~rc4t-ishr/Saru/index.html

このほかの FAQ はこちら↓をご覧ください。
http://www.gimlay.org/~javafaq/javafaq.html

71:02/07/14 08:11
81:02/07/14 08:11
 
91:02/07/14 08:11
 
101:02/07/14 08:11

関連情報 以上
>>8-9 は何だ?
>>12
10に「関連情報以上」って書くため
だから〜、なんで質問スレがsage進行なんだYO!
15デフォルトの名無しさん:02/07/14 13:54
>14
自分もそれ疑問に思う。何故?
それはともかく、最近Javaの勉強を始めたのですが
Integerクラスの静的メソッドでparseIntってありますよね。
説明によると
「基数10の数値として変換してint型で返す」ってあったのですが、
そもそも基数ってナニですか?
parseInt(String s, int r)で基数rの数値として変換してint型で返せるけど、
これがどういうことなのかサパーリです。
どうか教えてください。
>15
sage忘れてゴメンナサイ
>>15
文字列をナニ進数として解釈するのかを指定します。
Java(TM) 2 SDK ドキュメント
http://java.sun.com/j2se/1.3/ja/docs/ja/index.html
より



parseInt("0", 10) は 0 を返す
parseInt("473", 10) は 473 を返す
parseInt("0", 10) は 0 を返す
parseInt("-FF", 16) は -255 を返す
parseInt("1100110", 2) は 102 を返す
parseInt("2147483647", 10) は 2147483647 を返す
parseInt("-2147483648", 10) は -2147483648 を返す
parseInt("2147483648", 10) は NumberFormatException をスローする
parseInt("99", 8) は NumberFormatException をスローする
parseInt("Kona", 10) は NumberFormatException をスローする
parseInt("Kona", 27) は 411787 を返す
19デフォルトの名無しさん:02/07/14 14:16
>>17-18
基数って○進数のことでしたか。
ありがとうございます。すこぶる分かりました。
20デフォルトの名無しさん:02/07/14 14:39
javaのドキュメントって日本語おかしいよね?
読んでるとだんだんむかついてくる。
>>20
意味不明
>>14
質問と回答が続いているときに、 常に age 状態でやってると、 そのスレに >>5 の関係者が入ってきて
荒らすんだよ。過去スレ読んでくれば?
>>前スレ994
>サーバールートが、 Not Authorized!になってるんですけど、わざと?

>>前スレ995
>おっそいけど通ったけど Requested page not found.

ルーターを覗いていて、サーバー本体はみていない。
24前スレ969:02/07/14 15:24
NATルータでは、駄目みたいですね。
関係ないけど、ルータといえばこれにワラタヨ

711 名前:デフォルトの名無しさん投稿日:2002/3/27(水) 21:55
便乗質問いいっすか?
SYN flooding のツール作ってみたんですけど、
外に向かって撃ったらすぐ ADSL router がハング
してしまいます。
source IP を偽造しているためにNATテーブルが
溢れてしまうんでしょうか?
D-bornはそういう現象はありました?

712 名前:デフォルトの名無しさん投稿日:2002/3/27(水) 23:19
>SYN flooding のツール作ってみたんですけど、
>外に向かって撃った
逝ってよし。
NAT越しにDOS攻撃して訴えられればー。

713 名前:デフォルトの名無しさん投稿日:2002/3/27(水) 23:20
>>711
通報しますた。ってレスが欲しいのですか?
ルータの攻撃に成功したようなのでそのへんでやめれば?のほうがいいですか?

714 名前:デフォルトの名無しさん投稿日:2002/3/27(水) 23:35
「ルータに対してSYN-flood攻撃している状態」ですか。

715 名前:デフォルトの名無しさん投稿日:2002/3/27(水) 23:44
せっかくsource書き換えても、途中にNATあったら意味ないだろ(笑)

716 名前:デフォルトの名無しさん投稿日:2002/3/28(木) 01:59
お前NATの意味わかっとるのかと小一時間(...

717 名前:デフォルトの名無しさん投稿日:2002/3/28(木) 11:02
ワラタ、自分でルーターハングさせるアホがいるとは(藁

718 名前:デフォルトの名無しさん投稿日:2002/3/28(木) 22:46
。。。。どうしょうもねーな。
まぁ、何事も経験だ。
>>24
いや、ルーティングテーブルを書き換えてくれればいい。
27サプリ:02/07/14 16:53
頼りになる栄養補助食品です。
締め切りが迫っている、今晩中にあるいは翌朝までにやり遂げ
なければならない時に頼りになるハーブ食品ターボチャージ
www6.ocn.ne.jp/~beauty-s/index.htm
学校の課題をMSのVisual J++ 6でやらなきゃいけないんですけど
ここで質問するのはスレ違いですか?どこにもスレが見当たらなくて・・・
>>28
ここでいいと思うよ。
VJ++をソースエディタとして使っている人なら意外といるみたいだし。
ただしVJ++のみに依存した内容なら回答が得られない可能性は高そうだ。
VJ++でも、学校でやるのはjavaの基本的な部分だろうから
使い方とかを除いてそうかわらんでしょ。
ただ、課題を自力で解こうとして、わからない部分を聞くのは全然かまわないと思うけど
「こんな課題が出ました。教えてください。」なら、宿題スレの方が良いかと。
31逝って良しの1:02/07/14 17:49
ガベージコレクターを参照してない時、ガベコレは自分自身を消さないのですか?
>>31
AWTイベントディスパッチキュー、ファイナライザなどのスレッド、
クラスローダなどシステムに密接なリソースは、システムが強参照
ツリーのルート持ってます。
33デフォルトの名無しさん:02/07/14 18:38
リアルタイム処理の部分をもっと強化してほしい。
3428:02/07/14 19:05
それではダメもとで。環境はMS Visual J++ 6です。
自由課題で何を作っても良いといわれたのでゲームを作る事にしました。
ルールは対戦ゲームでスタートと同じに各プレイヤーの軌跡を順次描画し、自機が自分の軌跡か相手の軌跡に当たったら負け
というBASICで作るような単純な物です。

で、自機が軌跡に当たった時の判定に
 背景色を格納したColor型の変数 == getPixel(自機のX座標,自機のY座標)
をif文の判定に使ったところ、二つの値が一緒なのに(ラベルコントロールに表示させて確認しました)演算結果がtrueになりませんでした。
どうすれば正しい判定結果が得られるようになるのでしょうか?
分かる人がいたら教えてください。
35デフォルトの名無しさん:02/07/14 19:37
==じゃなくてequalsにしないといけないんじゃないの?
36デフォルトの名無しさん:02/07/14 19:37
サーブレットの勉強しようと独習本買ってきて、下記のようなサンプルの
ソースを書きました。

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class Samle extends HttpServlet {
public void doGet(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException {
--略--
}
}

このソースをコンパイルすると
パッケージ javax.servletは存在しません。
パッケージ javax.servlet.httpは存在しません。
とでます。原因は何でしょうか?

J2SDKのバージョンは以下のとおり
java version "1.4.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-b92)
Java HotSpot(TM) Client VM (build 1.4.0-b92, mixed mode)

サーバはAppach コンテナは TomCatです。

本と違うことと言えば、J2SDKのインストール先をデフォルトのc:\j2sdk1.4.0でなく
c:\jdkとしていることぐらいです。。

環境変数の設定は以下のとおり
PATH C:\jdk\bin;
JAVA_HOME C:\jdk
CLASSPATH CLASSPATH C:\jdk\lib;C:\jdk\jre\lib;C:\jdk\lib\tools.jar;


Java始めて、3か月の厨房です。
仕事で作らんとあかんのにこんな状況では(涙)
>>36
servlet.jarをクラスパスに設定しなさい。
3828:02/07/14 20:27
>>35
できました!ありがとうございます m(_ _)m
先生にこういうのを作るといったら「止めといた方がいいんじゃない?」と言われていただけにすごく嬉しいです。
39逝って良しの1:02/07/14 20:44
>>32
ありがとうございます。
40デフォルトの名無しさん:02/07/14 20:46
buroburo
>>33
JCP JSR-1
Real Time Specification For Java

リファレンスインプリメンテーションがもうでているから、
探して来い。ちなみに、なぜかjava.sun.comではない。
42デフォルトの名無しさん:02/07/14 21:53
ハッシュテーブルのキーと値を、ファイルにとっておくいい方法ってありますか?
>>42
java.util.Properties。
>>42
シリアライズ
>>42
JDK1.4つかって、
java.bean.XMLEncorder&XMLDecoder
46デフォルトの名無しさん:02/07/14 22:03
文字列の中の \ を抽出したいのですが、どうしたらよいでしょうか
>>46
String#indexOf()
48デフォルトの名無しさん:02/07/14 22:16
>>47速レスありがと
やっぱり説明不足だったね。
if (aaa.match('\'))
だと \ を含む文字列が判断できないじゃないですよね。
その場合、どのようにすればよいのでしょうか?
>>48
いいからAPIリファよんでくれ。
読むべきは、初心者向け入門書のエスケープ文字の扱いかも
5136:02/07/14 22:30
>>37
早速の回答ありがとうございます。
やってみましたがまたでます。
環境変数とコンパイルエラーの吐き出したStackTraceの中身は
後ろに載せてます。
あと関連質問ですが、サーブレットのライブラリ(javax.servlet)は
JDKのほうではなく、コンテナ(TomCat)の方に準備されている
のでしょうか?

autoexec.batの中身
PATH C:\jdk\bin;C:\mysql\bin;%PATH%;
JAVA_HOME C:\jdk
TOMCAT_HOME C:\tomcat
CLASSPATH
C:\jdk\lib;C:\jdk\jre\lib;
C:\jdk\lib\tools.jar;
C:\Tomcat\common\lib\servlet.jar;
C:\Tomcat\webapps\jsp10\WEB-INF\classes;

コンパイル時のエラー
Sample.java:5: シンボルを解釈処理できません。
シンボル: クラス HttpServlet
位置 : Sample の クラス
public class srv_intro extends HttpServlet { ^
Sample.java:6: シンボルを解釈処理できません。
シンボル: クラス HttpServletRequest
位置 : Sample の クラス
public void doGet(HttpServletRequest request,HttpServletResponse respons
e) ^
Sample.java:6: シンボルを解釈処理できません。
シンボル: クラス HttpServletResponse
位置 : Sample の クラス
public void doGet(HttpServletRequest request,HttpServletResponse respons
e) ^
Sample.java:7: シンボルを解釈処理できません。
シンボル: クラス ServletException
位置 : Sample の クラス
throws ServletException,IOException {
エラー 6 個

余談ですがautoexec.batいじっていたらWindowsが
起動すなくなりますた。
外付けFDが見当たらず、2時間ほど、中断を余儀なくされますた。
もうへとへとです。
52デフォルトの名無しさん:02/07/14 22:31
あるファイルから文字列を読み込んで、処理が終わったあとに、またそのファイルに書き込む時、
前にあった内容を消して、新しい内容に書き換えるにはどうしたらいいですか?
インポートしてねえんじゃねえの。
>51
autoexec.bat内での環境変数の設定方法を根本的にわかってない気がする。
"PATH"という環境変数は特別扱いされてるだけだ。
55デフォルトの名無しさん:02/07/14 22:34
>52
普通にやれば上書きになると思うが。追記の方がめんどくさくないか?
56デフォルトの名無しさん:02/07/14 22:36
55>>
そのとおりだと思われ
>>52
StringBufferつかったら?イラン文字だけappend()しなければ
いいだけじゃん。
>57
「文字列」はこの際関係なかろう。追記か上書きか、って話だろ?
59デフォルトの名無しさん:02/07/14 22:46
>57 ていうか何の話?
60コギャル&中高生:02/07/14 22:47
男性にはまだ余り知られて
ませんので逆アポ率も激増
H好きな女子中高生が待ってます
(i/j/eza対応)
http://book-i.net/derr/
コギャルとH出来るサイトはここ
ヌキヌキ部屋へ直行便

http://kado7.ug.to/wowo/
http://book-i.net/dankann/

H必ず出来る何度も挑戦
中高生感度良好
ロリ−タ好き

http://fry.to/zzz.hi258.2tyann
http://www1.ocn.ne.jp/~kado77/kgi1.htm

61デフォルトの名無しさん:02/07/14 22:48
>>59
たぶんstringBuffer使えば追記気味にいけるということだとおもわれ
62デフォルトの名無しさん:02/07/14 22:57
runでデータを使いたい時、
なんで、コンストラクタにいろいろ渡さないといけないの?

63デフォルトの名無しさん:02/07/14 23:20
あげ
runて何
>57 >61
何か勘違いしているだろ。

>62
別に?渡さなくてもイイよ?
6662:02/07/14 23:43
>>65

setter
でしょうか?
>66
イイんじゃない?
つーか、目的に合わせて設計しろよ。

>>51
autoexec.batの例
これを参考にして、自分の環境に合わせて autoexec.bat 作れ

loadhigh C:\WINDOWS\COMMAND\nlsfunc.exe C:\WINDOWS\country.sys
set temp=C:\temp
set tmp=C:\temp

set PATH=C:\jdk\bin;C:\mysql\bin;C:\WINDOWS;C:\WINDOWS\COMMAND;.
set JAVA_HOME=C:\jdk
set TOMCAT_HOME=C:\tomcat
set CLASSPATH=C:\jdk\lib\tools.jar;C:\Tomcat\common\lib\servlet.jar;.
doskey
68デフォルトの名無しさん:02/07/15 00:06
>>>>runでデータを使いたい時、なんで、コンストラクタにいろいろ渡さないといけないの?
>>>別に?渡さなくてもイイよ?
>>setterでしょうか?
>イイんじゃない?

なんで会話が成立してるのかさっぱりわからん

ていうか

>>57 >61
>何か勘違いしているだろ。

そらお前や。
6962:02/07/15 00:24
>>68

成立してませんよ。
>>69
ワロタ
7168:02/07/15 00:26
あ、やっぱり?
72デフォルトの名無しさん:02/07/15 00:36
filechooserでファイルダイアログウィンドウ出すとき、現在実行しているclassファイルがあるフォルダを自動的に指定したいのですが、
どのようにすればよいのでしょうか?

あと、.jarのファイルをダブルクリックすればいちいちコマンドプロンプトから実行する必要なしのようですが、いつのまにかlhaplusに関連付けされていました。実行不可です。
もともとはどのアプリに関連付けされていたのでしょう?
7365:02/07/15 00:48
ネタだったのか…
鬱…。
>>72
JDKを再インストロールするば?
75デフォルトの名無しさん:02/07/15 01:15
>72
ファイルチューザですが、良い方法を知りませんが、システムのプロパティからjava.class.pathでプロパティの値を取ってきて考えてみてください。

ただ、.jarファイルの質問を見る限り、Javaのコンパイル方法と起動方法を調べてみるとか、基本的なところから始めた方がよさそうですね。

そのあたりはネットに無数に情報があると思います。今後の情報源を広める意味でも御自分で調べてみてはいかがでしょうか。多分のちのちも役に立ちますよ。
(賛否あっても、アットマークITとかJavaHouseとかは。)

一応、javaの-jarオプションで起動するように関連付けを修正してみれば ?とだけアドバイスしておきます。

名前付けルールってどこに書いてある?
objConn
strName
とか。
>>76
FAQ
>>76
VBからの移行組かな?
とりあえずそのまま行けばいいよ。
javaコーディング標準。
>>78
Sunのページのどこかに書いてあったの記憶してるけど、どこか知りませんか?
81デフォルトの名無しさん:02/07/15 04:04
digitalcatsが私の知らないうちに亡くなってるんですけど・・・なぜですか?
教えるのが下手なヤツが多いな。
>>82
そうでもない
84 :02/07/15 06:32
>>82
うまい教え方を教えてください。
昨日のファイルアップロードサーブレット君へ
ルーターの設定で、外からのポート 80 アクセスを LAN 内の鯖のポート 80 へ
飛ばすように static routing すれば大丈夫だと思う。ルーターにその機能が
あるか知らんけど。
87デフォルトの名無しさん:02/07/15 13:05
JSP、JavaBeanをつかったセッション管理のことについて詳しく説明のある
ホームページを教えてください。
あと、Servlet2.3のセッションについて書いてあるページも教えてください。
89デフォルトの名無しさん:02/07/15 14:17
>>87
それぐらい探す努力しろよ。
90sinn:02/07/15 15:45
Forte使っているのですが、J2MEインストールすると
通常のJavaソースがコンパイルできません。
コンパイラの切り替えの方法を知っている方、
是非教えてください。
ちょっとスレの志向と違うかもしれませんが・・・
JVMのバージョンってどーやったら分りますか?
おしえてください。おねがいします。
-versionやsystem properties
>>92
初心者はそれだけじゃわからない罠
>>91

IE ならば

1. [ツール(T)]−[インターネットオプション(O)] の [詳細設定] を開き、
2. Microsoft VM の [Javaコンソールの使用] にチェック
3. IE を再起動し、[表示(V)]−[Javaコンソール(J)]
nativeって、どういう意味があって、どういう使い方するの?
>>94
ありがとうございました。
どうぞお納めください。
ttp://member.nifty.ne.jp/kannoudog/Photo/Vol1/photo8.jpg
>>96
女の人だったらどうするんだよ
9827(前スレ952):02/07/15 17:48
>>97 あっ!

>>94さんごめんなさい。
男性にしろ女性にしろこの画像が気に入るとは限らなかったですね。
もし気分を害したならそれは当方の過ちです。
どうぞ叱ってください。罵ってください。
すみませんでした。
99デフォルトの名無しさん:02/07/15 17:55
>>95
native -> ネイチブ -> 自然
これからわかるようにC言語を通じて機種依存のコードが書けます。
10095:02/07/15 18:52
ありがとう。今、
class test {
 native int nativemethod(int ch) {
  return ch;
 }
}
ってやってみたらコンパイルエラーになったので、少しわかってきた。

javaのプログラム上では(nateveで修飾した)メソッドの宣言だけしておいて、
実際の動作は別なところに(Cなどで)記述するってことだね。
で、Cなどからアクセスするためのインターフェースや規約は
ドキュメントのJNIのところに書いてあると。(全然読んでないけど)

実際に必要になるまでは、この程度の理解でよいのかな。
>>99
あ、気になる
ネイティブコード、ネイティブイベントって使い方するよね
コンピュータではネイティブ=機種依存でいいのかな
もーちょい詳しくお願いプリーズ
>>100
全然だめだろ……。指摘しようにもどこから突っ込んだらいいかわからん。
>>102
説明が下手な方は、このスレから去って下さい。
10495:02/07/15 20:07
そんなに変かな。
>>100は既存のソースに出てきた場合のことではなく、
自分で実装する場合のことを書いたんだけど。
「仮にnativeなメソッドを実装しても(javaソース上では)宣言部を書くだけ」と書いたつもり。
もちろん、他の誰かが書いたソースにnativeが現れたら、
それが「実際は別の.soなり.dllなりに実装されていてそれを呼び出している」なんて
あたりまえだと思ってるし。

それともJNIとは関係ないってことかな。
(ドキュメントの/jni/spec/design.doc.htmlにもあるのもみつけたので
全く無関係ではないだろうけど、nativeが全てJNIを使っているわけではないという意味で)

まあ、いいや。使いもしないのに質問した俺が悪いんだし。
10595:02/07/15 20:10
そうそう、
class test {
 native int nativemethod(int ch);
 public static void main(String[] args){
  test t = new test();
  t.nativemethod(1);
 }
}
これをやったらコンパイルは通って、実行時エラーになるのは確認済み。
ライブラリをリンクしてない(もちろん作ってない)から。
106デフォルトの名無しさん:02/07/15 20:23
エクスプローラーのようにファイルをツリーで表示させたいのですが、
大量にディスク上のツリー情報を読み込むとに時間が掛かります。
この場合どうすれば良いでしょうか?いま自分が考えているのは、
表示されているディレクトリのアイコンをクリックすると、その時点で
そのディレクトリ以下のディスク上のツリー情報を初めて読み込み、
表示するという方法です。(proxyパターンの遅延処理のような)
異なる JVM から非同期に入出力が行われるファイルがあります。データベースが
使えない場合、ロックファイルを用意して獲得できなかったらスリープ、より
良い方法はありますか?

File lock = new File("hogehoge.lock");
boolean locked = false;
for(int i=0; i<10; i++){
  if(lock.createNewFile()){
    lock.deleteOnExit();
    locked = true;
    break;
  }
  Thread.sleep(200);
}
if(! locked)  throw new HogeException("Lock Pending");
try{
  // … ファイル入出力処理
} finally {
  lock.delete();
}
>>107
それ、どうしても異なるVMが直接ファイルを扱わなきゃ
いけないの?
今、swingの勉強中なのですが、
どうしてサンプルのソースはどれもJFrameを継承してるんでしょうか
継承しなくてもnew JFrameでいいように思えるのですが・・・
>>108
いやアプリの制限として「2 つ以上立ち上げんな」「ファイル共有すんな」
でも良いんだけど、Pure Java, no DB のプロセス間リソース問題って
これしかないよな、と思って意見を聞いてみたところ。

以前にも異なるコンテキストのサーブレットで同じような問題に
ぶち当たったし (そんときはあきらめて同一コンテキストにした)。
>>109
そうしたい人はそうすればいいです。
あれはこっちのクラス、これはこのクラス、あっクラス名間違えたとか延々やりたいのなら。
>>110
File.createNewFileはアトミックであることが仕様。
でもプロセス間のリソース共有するのにこれしかないか、
という話なら、RMI使うとか手段はあるんじゃない?
>>112
そうか RMI を忘れてたな。
でも今「お手軽 one JSP 掲示板!! ファイルコピーで 2ch 型掲示板立てまくり!!」
とかいうのに挑戦してるんだわ。該当ファイルが消えたら notify() されるような
都合の良い API なんて無かったよね。

いや、参考になりました。感謝です。
>>111
GUIの制約とかじゃないのね。スッキリしました、THX.
>>106
JTree.DynamicUtilTreeNodeつかいなされ。

>>113
そのファイルアクセス専用のちっちゃいサーバプロセス立ち上げるのが普通だよね。
RMIにするかソケットにするかは、好みの問題かなあ。どっちがいいんだろうね。

>>111
GUIコンポーネントを継承するなんて、オーバーライドしたいときでもない限り
めったにやらないぞ。機能をそのまま使うときは専ら所有して委譲+publicメソ
ッドでプロパティ変更。

素人ですか?
116デフォルトの名無しさん:02/07/16 02:21
>106
それ、前に作った事ある。
俺も君の考えてるようにしたよ。
ディレクトリを示すノードにはダミーのノードを1個追加しといて、ハンドルを無理やり表示。
TreeExpansionEvent 拾ってダミー削除&ノード追加みたいな感じ。
JBuilder のファイルダイアログ?を目指してみた。

115氏の言う JTree.DynamicUtilTreeNode を使えばもっと簡単に出来るのかも。
てゆうか使い方がわからなかったんだよね・・・。
117デフォルトの名無しさん(デコード?):02/07/16 02:32
16進の文字コードを「文字」に変換するとき

char c = 0x301C;
System.out.println(c);

こんなかんじで文字が見れるのですが、

この16進の文字コードを文字に変換して、
Stringに格納するにはどうしたらよいのでしょうか?

char c = 0x301C;
String str = ?????(c);
118デフォルトの名無しさん:02/07/16 03:07
javaでも覚えるか〜
>>117
String str = "\u301c";
or
char[] c = {0x301c};
String str = new String(c);
>>115
> GUIコンポーネントを継承するなんて、オーバーライドしたいときでもない限り
> めったにやらないぞ。

は〜
>>115
> GUIコンポーネントを継承するなんて、オーバーライドしたいときでもない限り
> めったにやらないぞ。

ぷ〜
122デフォルトの名無しさん:02/07/16 12:12
>>121
どうやらあんたはVectorを継承してStackを作るバカと同レベルらしい。
120は問題なく 121は問題ありなのか・・・
>>122
ほもしろすぎ。しんで。
>>122
市ね場?
126デフォルトの名無しさん:02/07/16 15:14
メインクラス(main関数のある)のあるディレクトリを取得する方法を教えて
>>126
.
>>126
クラスから実行するだけじゃないという問題は無視して?
(main関数のある)
ネタっぽいな。
釣られたのか・・・シュボーン
132132:02/07/16 16:23
某サイトから情報を読んで、それを加工してファイルに記録したいのですが、
そういう場合は、情報をどこに読み込んでどこで加工するといいのでしょうか?

普通に変数に読み込んで編集してその内容をファイルに書くのですか?
なにか良い方法があったら教えて下さい。
>>132
お好きなように、としか。

URLクラス、Socketなどなどでとってきて
134132:02/07/16 16:57
>>133
> お好きなように

どんな方法を使うのが一般的ですか?
>>133
> URLクラス、Socketなどなどでとってきて

>>133さんは、どういう意味でこれを書いたの?

>>133
なにか勘違いしてない?
137デフォルトの名無しさん:02/07/16 18:25
スーパークラスのオーバーライドしたメソッドを呼ぶにはどうしたらいいのでしょうか。
138デフォルトの名無しさん:02/07/16 18:37
>137
super.A()
>>137
super.method(); だがサブクラス以外から呼ぼうとしてもだめだよ。
Red Hat Linux 7.3でSwingを使ってダイアログを表示したら
日本語部分が文字化けするんだけどなんででしょうか。
141デフォルトの名無しさん:02/07/16 18:47
>>138>>139
ありがとうございます。

もう一つお願いします。
C++のprotectedと同じアクセスレベルはないのでしょうか。
自クラスとサブクラスからのみ参照可能なアクセスレベルです。
142デフォルトの名無しさん:02/07/16 18:48
>141 無い。
>>142
がーん。ありがとうございます。
>>141
完全に同じじゃないけど protected。同一パッケージ内からでもアクセスできて
しまうが、1パッケージに全部クラスぶち込むようなウンコ設計じゃなければ
便利よ。
>>139
サブクラス以外から、スーパークラスって呼ばないと思われる。
>>145
C++ だとそういう呼び出し方もあるのでわざわざ断ってる。
>>146
最初から「C++でいう」を付けろ。 いまさら言い訳だろ?
>>147
しつこいなおまえ。C++ 使えないのは分かったからもう消えて良いよ。
C++ すら知らない人間でも教師ヅラできるスレはここですか?
>>148
147しか書いていませんが、しつこいですか?
言い訳野郎うざいよ。消えろよ
>>148
恥ずかしいなお前
スーパークラスのメソッドの呼び出し方も知らない奴が、サブクラス外から
呼び出せないって知ってると思うか? C++ 移行組ではないという保障は?
VB 上がりの莫迦 ウザイ
153デフォルトの名無しさん:02/07/16 20:39
>>152
意味わからん
つまり、139がきちんと説明をすれば問題はなかったということですね。
155殺伐イヤン♪:02/07/16 20:45
旦⊂(`Д´)お前らマターリしる!
オーバーライドされたメソッドのスーパークラスの方を外から直接呼べないか
とか言ってた奴、このスレだったか知らんが以前にもいたな。そこらへん記憶
にあれば >>139 の指摘になると思うが。
158デフォルトの名無しさん:02/07/16 20:50
>>144
protected とか アクセス指定なしを
連発されたパッケージもどーかと思うよ。
super 修飾子がサブクラスからしか使えないのは Java 常識
⇒ super を知らない初心者にそんな常識は通用しない

と考えて >>139 を書いたんだがな。想定外の自演莫迦が釣れちまったようだ。
160デフォルトの名無しさん:02/07/16 20:56
>>158
どういう意味?詳しく説明規模
>>160
クラスを作るときにはキチンとアクセス制御しておこうよ。 っていう感想なんじゃないかと推定
>>159
はぁ?
「同一パッケージ内からでもアクセスできてしまう」
の方を活用しすぎているパッケージはどーかと思う、という話です。
>>159
最初からみんなでお前は説明不足だって言ってるじゃん。認めろ
>>160
>>159 じゃないけど、あまりアクセススコープ考えないで設計された
パッケージの事じゃねー?

フレームワーク系の機能作ってると、クラス間の協調機能を外に公開
したくない目的でパッケージプライベートとか多発することもあるけど。
>>163
そういうことか。
>>159
もっとわかりやすく説明してごらん? JavaとC++の違いを説明しているのに言葉1つ1つに説明がないからなにを
いいたいのかわからんのだよ。
この辺がバカってことでもういいよ。
>>158-159
169159:02/07/16 21:05
>>168
俺もっすか…
> 最初からみんなで
いやに説明的なだな (藁
で、結局自分の ヴァカ さ加減を晒したので顔真っ赤にしてムキになってると (激藁
171158:02/07/16 21:06
>>169
俺が馬鹿だったんです。ごめんなさい。
言葉足らずなだけでしょ。もういいよ。
>>167
super 修飾子がサブクラスからしか使えないのは Java 常識
⇒ super を知らない初心者にそんな常識は通用しない
⇒ C++ 移行組ならサブクラス外からも使えて当然と思っているかも知れない

だな。
174デフォルトの名無しさん:02/07/16 21:07
どう考えても>>139==>>159の方が真っ当。
煽ってる連中の頭弱すぎ。
ごめん すごく気になったんだけど


>>170
> 結局自分の ヴァカ さ加減を晒したので

139以外がバカ晒しているのってどれ?
>>174
論拠言わないただのアフォがやって参りました!
>>174
内容について話しましょうね。
>>173
煽られても、説明下手だな。がんがれよ
179174:02/07/16 21:12
一杯釣れるなー。
いや、一人かも知れない というか一人であってくれと切に願うが。

>>173
全然違うと思うがな。
C++組の事なんか意識するまでも無く、superを外から使えないかと考える奴がいる事は十分考えられる。
180デフォルトの名無しさん:02/07/16 21:13
>>178
おまえの読解能力が低いだけだから安心して宿題やれ。
181デフォルトの名無しさん:02/07/16 21:16
>>179
バカはすっこんでろ
>>179
ねぇねぇ何の話し?
>>168
頭の弱さを晒してる日本語だな。
184174:02/07/16 21:18
まぁ、アホは死ねや(藁
superクラスは多重継承の場合は配列になっている。
注意が必要だぞ。初心者諸君。

>>181
お前もな。C++組を代表して言っておく。
185174:02/07/16 21:22
騙り厨まで(・∀・)ツレタ!!

つーか>173&>184、何でそこまでC++に執着すんの?なんかコンプレックスでもあるのか?
186デフォルトの名無しさん:02/07/16 21:22
>C++組を代表して言っておく。

使いこなせもしない癖に何ボケてんですか??(ププ
187173:02/07/16 21:26
>>185
いや、無いけどさ。当然と思ってる事って案外ハマりどころじゃん。そんで
今回の件は C++ じゃ当然できることだから。
188デフォルトの名無しさん:02/07/16 21:28
メソッドっていつ使うのですか?
参考書を見る限り、文が短いせいか
別に必要ないように思えるんですけど

どういった状況になったらメソッドが有効ですか?
素人レスごめんなさい
189デフォルトの名無しさん:02/07/16 21:29
>188
ス、スゲエ
代表されたくは、無いな、やっぱりな。
おやくそく。
>>188
使う意味がわからないうちは、使わないでいいです。
(っても、Javaスレだよな、ここ…)
>>188
ええっと、当面は「サブルーチン」「共通フロー」あたりに専念してみる
のが良いかと…
193174:02/07/16 21:38
>>188
いらないぞ。なんでいるのかわからん。
全部static付ければいいぞ。便利だ。
194デフォルトの名無しさん:02/07/16 21:49
Singletonの乱用って、マズいですかね?
便利なんで、ついつい使ってしまうんです・・。

クラスA内からクラスBインスタンスの参照が必要なとき、
クラスBをSingletonにしちゃってgetInstance()で参照を取得する
ようにしてしまうのですが・・。
まあもちろんクラスBがSingletonで良い場合のみなんですけど。
でもなんかこう、Singletonを多用するのはあまり美しくないのかなあ
なんて思っちゃうんです。

みなさんのプログラミングスタイルはどんな感じですか?
195デフォルトの名無しさん:02/07/16 21:55
なぜJavaスレで訊く?
>>194
プログラミングスタイルというか設計スタイルだな。
俺は大抵コンポジット、ストラテジー、ステートパターンあたりを
中心に組むかな。
>>191>>192>>193は、メソッドの使い方を知らないみたいだな。
>>197
あのさぁ・・・既に水から引き上げられてるえさに食いつく魚ってアフォだと思わないか?
199デフォルトの名無しさん:02/07/16 22:02
>198
いや、それはそれで凄い魚だと思う。
>>197
教える技術のない人は初心者無視スレへ。
>>198
そんなカリカリするなよ(w
>>200
お前が教えてやれよ。さっさと
>>200
さっさとメソッドの使い方を教えろ アホ!
2041:02/07/16 22:23
初心者無視! Java相談室 その9
http://pc3.2ch.net/test/read.cgi/tech/1021555964/
モソッドを使わずにJABAプログラムできるのですか??
2061:02/07/16 22:25
次の質問くるまで待ちましょう。
なんでさっきから粘着自演煽りが張り付いてんの?
           ___
    .      |(・∀・)|
     .      | ̄ ̄ ̄   ジサクジエン共和国
         △
        △l |
   __△|_.田 |△_____
__|__|__|__門_|__|_____|___
>>207 = >>208
静かにしてね。
⊂(`Д´)⊃旦~~マターリしる!
211デフォルトの名無しさん:02/07/16 22:51
>>189-
結局メソッドが何かも教えられなのか
ちなみに俺は(上手い具合に)教える事はできない

つまり俺と同レベル?
アフォ洪水波浪警報発令中。
しかも目立ちたがり屋。アゲンナ
214デフォルトの名無しさん:02/07/16 23:23
(*`Д´)⊃旦~~マターリしる!
215132:02/07/16 23:24
サイトから情報を読んで、それを加工してファイルに記録したいのですが、
そういう場合は、情報をどこに読み込んでどこで加工するといいのでしょうか?

普通に変数に読み込んで編集してその内容をファイルに書くのですか?
なにか良い方法があったら教えて下さい。
JavaでGUIプログラミングを勉強しようと思うのですが、フリーで(・∀・)イイ!のは、何でしょうか。
Eclipse
NetBeans
Forte(Community version)
VAJ(Community version)
JBuilder(Community version)
よろしくおながいします。
>>215
それで良いんじゃねーの? データがでかければ少し工夫の余地がある
けど。
>>216
秀丸
219デフォルトの名無しさん:02/07/16 23:48
>>216
やぱりこれからは日蝕で決まりでは?
>>216
Eclipse は GUI ビルダーがまだ付いてなかったと思う。
VAJ は何をやるにしても激しく糞だから止めとけ。
Forte/JBuilder は重い。それ以外の感想はない。
NetBeans は未知の世界。
ということで俺的にはこんな感じ

Forte = JBuilder >>> Visual J++ >>>>>>>>>>>> VAJ
Eclipse 対象外、NetBeans 不明
221132:02/07/16 23:56
>>217
わかりました。とりあえずまずはそれで組んでから、また疑問があれば質問します。ありがとうございました。
>>216
秀丸+Javaマクロ + Javaハイライト は使いやすい。
VAJは個人で使うぶんには、リポジトリの肥大化はさほど問題
ではないと思う。IDEもV4.0になって昔ほど落ちなくなった。
バージョン管理もしやすいしね。でもVA/Assistをインストール
するのは必須。ただ、JDK1.2レベルだし、XPは動作環境じゃ
ないし、今更選択するのは得策じゃないな。
224デフォルトの名無しさん:02/07/17 00:33
クラスの二次元配列の初期化は以下のような感じで問題ないですよね?

Hoge[][] hoge = new Hoge[10][10];

for(i=0;i<10;i++){
for(k=0;k<10;k++){
hoge[i][k] = new Hoge(コンストラクタ);
}
}
>>220
>>216
>>223
ありがとうございます。とりあえず、NetBeans + Eclipse + 秀丸 + J2SEでやってみますだ。
>>188よ、
メソッドが分からないとJavaはつらいので無理をするな。出来れば
VBとかでクラス使ったプログラミングになれてから・・・ってか、188はネタか?
なあなあ、java.beans.Beans.instantiateで自作のbeansをロードしてるんだけど、
jar -i してインデックスつけたjarだとロードに失敗するんだ。(SE1.3.1+WinMe)
ちなみに jar -i しなければ問題なし。
後述の極小のサンプルで確認したけどnewした方は大丈夫なんで、instantiateの
問題なのは間違いない。
しかし家のSE1.4+Win2Kだと再現しないんだ。これが。
持って帰ってきた資料がソースだけだったんで発生する例外は忘れた・・・
googleで検索したけど解決の役に立たなかったことは覚えてる。

結局、これって1.3.1が原因?Meが原因?だれか確認してくれないかな。
しゃーないからFactory作ってnewすることにしたけどさ、気分悪いじゃない。

それにしても・・・Meなんて使ってんじゃねーよ、お客様よぉ(泣
228227のサンプル:02/07/17 11:06

【myBean.java】
package beans;

import java.lang.*;
import java.io.*;

public class myBean implements Serializable {
private intval;
public myBean() { val = 0; }
public int getValue() { return val; }
public void setValue( int v ) { val = v; }
}
【myBean.mf】
Manifest-Version: 1.0

Name: beans/myBean.class
Java-Bean: True
【simpleTest.java】
import java.lang.*;
import java.beans.*;

public class simpleTest {
public static void main(String s[]) {
beans.myBean mb;
mb = new beans.myBean();
mb.setValue(123456789);
System.out.println(mb.getValue());
try {
mb = (beans.myBean)Beans.instantiate(null,"beans.myBean");
mb.setValue(987654321);
System.out.println(mb.getValue());
} catch(Exception e) {
e.printStackTrace();
}
}
}
【simpleTest.mf】
Manifest-Version: 1.0
Main-Class: simpleTest
class-path: beans/myBean.jar
Created-By: 1.0 (I.Kazawa@SoftwareControl)

229デフォルトの名無しさん:02/07/17 16:01
同じレイアウトでラベルの文字やアイコンが異なるパネルを作るプログラムが
作りたいのですが、どうしても上手くいきません。
実際にパネルのレイアウトやラベルを貼るクラスと、メインとの受け渡しは
どう記述したら良いのでしょうか?
Object型の戻り値でメインに渡して、メインのフレームにgetContentPane().add(パネル);
としてるのですが、Eclipseでは
The method(java.awt.Component,java.lng.Object)in the java.awt.Container is not applicable
for the argument(java.lang.Object)
というエラーがgetContentPane().add()のaddの部分に出ます。
どうすれば解決するのでしょうか?
230229:02/07/17 16:11
ちなみにメインの方では、
Object 変数 = パネルをレイアウトするクラス.メソッド();
と記述しました。これが間違っているんでしょうか・・・
231デフォルトの名無しさん:02/07/17 19:03
panelのレイアウトがFlowLayoutで、
panel.add(button1);
panel.add(button2);
2個のボタンを追加すると左からボタン1、ボタン2と表示されるよね

addの順番を変えないで、表示の順番を変えることってできる?
232デフォルトの名無しさん:02/07/17 19:14
>231
無理っす。
全部消してから順番を変えて add するべし。
233デフォルトの名無しさん:02/07/17 19:31
>229
その説明ではよくわからんなぁ…。
> Object 変数 = パネルをレイアウトするクラス.メソッド();
↑の変数がパネルだよね?
add する時にキャストしてる?
>>231
panel.add(button1);
panel.add(button2);
panel.remove(button1);
panel.add(button1);
235デフォルトの名無しさん:02/07/17 20:33
>>232>>234
ありがとSUN

button1が継承もとにあるんだよ
面倒だなぁ
>>235
Container#getComponents()とか其の辺使えば、
addしたのが継承元だろうがなんだろうが、そのContainerに
くっついているComponent全部取れるよ。Compositeパターン
はアリガタヤ。
シツモーン。
GUIビルダって、Javaで必要でしょうか?JBuilderのそれなんかは、
あとで整理したりビルダでは出来ないようなカスタマイズするときに、
かえって不便なだけだとおもうんだけど・・・
>>237
純粋に効率の問題かと。
IDEって必要ですか?とかGUIビルダって必要ですか?って質問は
だらだら話が続くけど、結論でないんだよなぁ。という俺は、
VAJのVCE使って吐き出したファイルをeclipseで取り込んでます。
Viewとそれ以外は厳密に分けるように心がければ、ちまたで
言われていること(メソッドがわらわら生成されることとか)で
困ったことはないな。
>>229
>Object型の戻り値でメインに渡して
java.awt.Container.add()の単一の引数のメソッドは Component を受けるから、
Object では当然に型が不一致になるよ。
Component に変更するか、233の言うとおり add((Component)obj) とキャストすべし。
IDE...JBuilderで失望して使ってない。
秀丸でシコシコ書いてるとListnerの仮メソッド埋め込みとか欲しくなるけど、
慣れればどうってことないし。
242List'e'ner:02/07/17 22:33
うぁスペルミスが〜っーかキーボード変。
243デフォルトの名無しさん:02/07/18 00:07
Windows2000での環境設定の仕方教えてくださいm(__)m
244デフォルトの名無しさん:02/07/18 00:12
オレの環境はWindows2000ですm(__)m
245デフォルトの名無しさん:02/07/18 00:16
Windows2000は使ってないですm(__)m
何の環境設定か書きやがれ!と、そろそろマジレスしてみる。
247デフォルトの名無しさん:02/07/18 00:19
>>246
Windows2000ってかいてあるやん
お前らIDE使わないと >>241 みたいな恥ずかしいスペルミス頻発ですね
249227:02/07/18 00:38
>>243
「デスクトップ」→「マイコンピュータ」→「プロパティ」→「詳細」→「環境変数」

しかし、今はセットアップを動かせば設定される。
されてない・・・JAVA_HOMEは設定してくれてるみたいだが、PATHの修正は
していないようだ。

しまった、確認(java -version)してみたら家の環境でもjava.exeは1.3.1だと
言ってる・・・クラスは多分1.4.1(w




ということでPATHの設定値に%JAVA_HOME%\bin;を追加されたし。
これが無いとコマンドラインツールが動かないから。
250デフォルトの名無しさん:02/07/18 00:42
アプレットっておぼえて何か役に立ちますか
ほとんど仕事も無いし
ただの自己満足にしか思えない…
>>248
そりは>241だけだよ
俺はほとんど間違わないで?

>>250
そり以外の分野はどう思うよ?
252デフォルトの名無しさん:02/07/18 00:53
バッファ付け文字ストリームについて質問させてください

FileWriter fw = new FileWriter(args[0]);
BufferedWriter bw = new BufferedWriter(fw);

bw.write("abcdefg");

とやって最後にclose()関数を書くと思うのですが、
独習Javaを見てると
bw.close(); とやってる場合と fw.close()とやってる場合があります。
これはどちらでもよいのでしょうか?
よく理解したいのでどちらでもよい場合はその理由も教えてもらえるとうれしいです
253デフォルトの名無しさん:02/07/18 01:02
>>252
なんとなくだけど(調べてないよ)

FileWriterがcore部分だから
bw.close() 内部で fw.close() やってんじゃない?

だから bw.close() と fw.close() は同義でないのかなと・・・
254243:02/07/18 01:06
>>249
ありがとうございます。
参考にしてやってみます。
2550xff:02/07/18 01:37
0xff
256デフォルトの名無しさん:02/07/18 02:02
インターフェイスを引数にとるメソッドがありますよね?
そのメソッドは目標のクラスにそのインターフェイスがあることを知ってホッとすることはできますが、その後何を参照しているのでしょうか?
257デフォルトの名無しさん:02/07/18 02:02
正直、Javaスレって無駄に多いよね。
そのinterfaceで宣言されてるメソッドを呼んでるだけじゃねーの?
259デフォルトの名無しさん:02/07/18 02:24
>>258
呼び出されるメソッドが実装されていなかったらどうなるんですかね?
>>259
単にコンパイル時にエラーとなってメソッドに渡せないだけ。
>>259
そのクラスのインスタンスが生成できないッス
ぐわ紛らわしい。
インターフェースを引数に取るメソッドに、実装が不完全なクラスは、渡せない。
型が一致していないから。
263256:02/07/18 02:34
オツカレサマッ酢。
正直、Javaスレって無駄に多くてウザイね。
>>248は、IDEから2ちゃんねるに書き込みをしているらしい。
>>257 >>264 が構ってもらえないくて悲しんでいます。

>>253
レスありがとうございます。
同義ですか
たしかにどっちを実行してもエラーは出ないので、それが正解だとは思うの
ですが、やっぱりなんか頭の中でなっとく出来なくて・・・
もうちょっと勉強してみます

ありがとうございました
268デフォルトの名無しさん:02/07/18 10:31
EJB実装で、あるマシンで動くことが確認されているにもかかわらず
自分のマシンだと
「javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial」
とエラーメッセージが出てしまい。
困っているのですが、何がいけないのでしょうか?
JDK、J2EE、OSのバージョンは同一です。
269デフォルトの名無しさん:02/07/18 10:39
自己解決しました。パスの設定を手抜きしないで行ったら呼び出せました。
270デフォルトの名無しさん:02/07/18 10:49
連続書き込みですみません。

c:\hogehoge\j2ee.jar とある時に、
java -classpath c:\hogehoge yyy
の指定ってだめなんでしたっけ?

271デフォルトの名無しさん:02/07/18 11:10
GUIのイベント処理ですけど、
イベントの種類だけ、if ...elseってするのが正しいのですか?

>>271
別の例外でも投げとけ。
273デフォルトの名無しさん:02/07/18 11:23
actionPerformed
の中身って
Interfaceパターン
でいいんですか?
一般的ですか?
274デフォルトの名無しさん:02/07/18 12:41
テキストフィールドに記述された文字を、
ボタン等のアクションリスナー内でチェックしたい場合は、
テキストフィールドのアクションリスナーで、
予め文字が打たれるごとに、変数に格納するしかないのでしょうか。
>>274
素直にテキストフィールドのリスナーで扱うかテキストフィールドから情報を得ればよかろう。
276274:02/07/18 12:59
>>275
レスありがとうございます。
テキストフィールドからアクションリスナー(イベント)のメソッドを使わずに、
情報を得ることってできますか?
できるならどのメソッドでしょうか。

たとえば、ダイヤルアップネットワークで、
ユーザー名のフィールドを持っていて、
接続のボタンが押されたときに、ユーザー名が記述されずに、
接続のボタンが押されていないかをチェックしたいのです。
277274:02/07/18 13:00
誤)ユーザー名のフィールドを持っていて、
正)ユーザー名のテキストフィールドを持っていて、
java.awt.TextComponent.getText()


JDKプラットフォーム 1.2API仕様より。
279274:02/07/18 13:19
>>278
ありがとうございました。
スーパークラスを確認していませんでした。
280342:02/07/18 15:17
>>343
ありがとうございました。
9821のPCは持っています。
XPに対応できるエミュレーターはありますか。
ちなみに2000 nTのはありますが。
281デフォルトの名無しさん:02/07/18 15:19
this.addWindowListener(new WindowAdapter()
{
 public void windowClosing(WindowEvent e)
 {
  this.f();
  System.exit(0);
 }
});

匿名クラス内のthisはもちろん匿名クラスだよね
本体の実態を参照するには、それようの変数を用意しないといけないの?
this に add したイベントリスナなら e.getSource() で this と同じ
モノが取れないかな。一般的に成り立つか知らんけど。
>>281
匿名クラス内のthisはもちろん匿名クラスのインスタンス
2文字以上の置換を行いたいのですが、"replace"じゃ上手くいきません。

String strMes1 = "あいうえお";
String strMes2 = "";
strMes2 = strMes1.replace('あい','かき');

よろしくお願いします。ちなみに全角日本語です。
>>284
で、シングルクオートで囲っている理由は?
頼むから文法エラーごときで質問にこないでください・・・。
286284:02/07/18 17:01
String型の2文字以上の置換方法が分からないのです。
文法エラーが分からなくて質問しているのでは、ありません。

確かにシングルなのは、おかしいですが、ダブルでもエラーが出ます。

"replace"以外に、"あい"を"かき"に変えるメソッドがあるのでしょうか?
287デフォルトの名無しさん:02/07/18 17:15
アプレットのデバッグをしたいので↓のURLに書いてあるとおりにしました。
http://java.sun.com/products/plugin/1.3/docs/ja/debugging.html
しかしどうしてもエラーがでるのです。↓
http://members14.tsukaeru.net/kuresoru/error.jpg
この設定を行うとき、なにか陥りやすい罠でもあるのでしょうか?
288デフォルトの名無しさん:02/07/18 17:26
>>282>>283
ありがとSUN
できますた
e.getSource()で
289デフォルトの名無しさん:02/07/18 17:28
>>288
> ありがとSUN

新しいね。勝手に使わせてもらいます。
290デフォルトの名無しさん:02/07/18 17:56
Sun Sun Sun - (・∀・)♪
haxtu? ( ゚Д゚)
>>1
基本的にsage進行でおねがいします。

なんで?
>>286
StringBufferクラスを使ってください。

>>286
>確かにシングルなのは、おかしいですが、ダブルでもエラーが出ます。
って言ってますが、この発言をしてる自体でちょっと厳しいです><
'あい' とやってる時点でかなり問題ありなので
もう一度ここの勉強をしたほうがいいかと
>>284 >>286
String#replaceAll(String,String)使いなさい。要1.4
294284:02/07/18 18:47
しょうがないので、文字位置検索して、置換しました。
1度で複数文字を置換する方法は、ないんですかねー?
295284:02/07/18 18:51
>>292-293さん。
ありがとうございます。頑張って勉強します。
296できた:02/07/18 19:09
String strMes1 = "あいうえお";
String strMes2 = strMes1.replaceAll("あい","かき");
297284:02/07/18 19:13
開発環境が、1.3なのです、、、。
>>281
おらよ。

public class Outer{
 public static void main(String args[]){
  new Outer().new Inner();
 }

 private int val = 10;
 public class Inner{
  public Inner(){
   System.out.println("Instantiate Inner");
   System.out.println("Outer.val ="+Outer.this.val);
  }
 }
}
変なルールだよな。
299デフォルトの名無しさん :02/07/18 21:13
InputStreamクラスのreadメソッドの説明には、ストリーム
からの入力がブロックされると書いてあるのですが、
OutputStreamクラスのwriteメソッドの説明にはストリーム
への出力はブロックされるかどうかは明記されていません。
これはwriteメソッドはブロックを行わないと考えて良い
のでしょうか?
300デフォルトの名無しさん:02/07/18 21:44
教えてください
例えば1989/1/7と入力すれば
今日から計算してその日から何日経ったかを
表示するプログラムを出したいのですが
もちろん明日やれば日は1日分増やしたいのですが…
うるう年のやり方とかわかりません…
Calendarみろよ
GregorianCalendarでもいい。
ユリウス歴についてもかいてあるぞ?
なんか似たような質問が多いな。どっかの課題か?
俺はわからないから答えられないけど。
String d = "1989/1/7";
DateFormat df = new SimpleDateFormat("yyyy/MM/dd");
Date past = df.parse(d);
Date now = new Date();
if(now.before(past)) throw new IllegalArgumentException("未来入力すんな");
int dateSpan = (int)((now.getTime() - past.getTime()) / 24 / 60 / 60 / 10000);

簡単に書くとこんなか。Calendar 使わんとタイムゾーンを考えなきゃいけないんだっけ?
Calendar#add() でカウントアップするのもあるけど。
304デフォルトの名無しさん:02/07/18 22:00
>>300
その日付に意味はあるのか?
>>303
sankusu
>>304
誕生日と思われ
>>306
13歳か…
先生に聞け!!
<jsp:useBean /> を使うと id に指定した名前の変数が <% %> の中で使えるよね。
これと同じ事って拡張タグライブラリだけじゃ出来ないよね?
309デフォルトの名無しさん:02/07/18 22:42
byteをunsignedとして扱いたいんだけど、自前で+256して&255するしかない?
もっと簡単なのあったら教えてください。結果の型は不問。
310デフォルトの名無しさん:02/07/18 22:55
jEditorPaneのsetPage()を使ってHTML表示したとき
リロード(もう一度、同一URLをsetPage)が
うまくできず古い内容しか表示されないんだけど、なんかいい方法ない?
311デフォルトの名無しさん:02/07/18 23:03
質問の日本語が良く分からないけれど、
結果の型が不問なら、&0xffするだけでいいのでない?
自動的にintへ昇格されるはずだと思われ。

312309:02/07/18 23:21
>>311
期待したとおりになりました。サンクス!
313デフォルトの名無しさん:02/07/18 23:34
JavaでExcelファイルを読みこんで
セルを指定してそのセルに書かれている文字列を画面に表示させたいんですけど
こんなこと出来ますか?
315デフォルトの名無しさん:02/07/19 03:59
Javaマンセ〜
316310:02/07/19 04:11
最近javaに目覚めた。もちろんマンセー
but, swingむずー
表のカスタマイズむずー
可変レイアウトむずー
317デフォルトの名無しさん:02/07/19 04:12
住民基本台帳法について教えてもらえるネットの専門家の方々には、どの板
でお会いできるのですか?
gunbareyoむずー
>>317
俎板
J2EEサーバーの起動がうまく行きません。
下記のようなエラーがでます。何が悪いかわかる方がいましたら教えてください
OSはvine linux 2.1です

$ j2ee -verbose
Cannot write the seed file for fast startup. The next startup will be slow.
以後エラーメッセージが続く・・・
>>320

320 and/or vine linux 2.1
322デフォルトの名無しさん:02/07/19 13:53
ファイルのランダムアクセスで質問があります。

例えば、
--以下ファイルサンプル----
あああああああ
いいいい
ううううううう
ええ
-------------------------
のように、1行が可変長のファイルで3行目を1行まるまる取得するには
どのようにしたら良いでしょうか?
RandomAccessFileクラスのseekメソッドを使用してポインタを
移動しようとしても1行が可変長なため、どうしたらいいか悩んでいます。
各行の頭にポインタを指定できて、その行に対してreadLineメソッドで
読むようなことは出来ないでしょうか?

どなたか宜しくお願いします。
323デフォルトの名無しさん:02/07/19 14:01
プログラムのことで相談というかお願いです。

データメーカーというプログラムを持ってる方いらっしゃらないでしょうか?

あるのでしたらUPしてもらえませんか?
324デフォルトの名無しさん:02/07/19 14:15
JTableで編集可能なテーブルは、セル上でダブルクリックをすれば編集モードになるけど、
シングルクリックで編集モードにするにはどうするの?
>>322
先頭から一行づつ読んでく方法以外は無理。
そういうファイルをランダムアクセスで効率的に読むなら、ファイルの先頭に
seek オフセット値のテーブルを持たせるのが普通。
326320:02/07/19 16:30
>>321さん
ごめんなさい。意味が良くわかりません。
vine linux2.1、jdk1.4、j2SDKEE1.4.1以外特に何も入れていません。
j2eeのAPIを含むプログラムがコンパイルできたので環境設定は
うまくいっていると思います
Exception in thread "main" java.lang.NoClassDefFoundError: クラス名
↑コンパイルした後、classを動かそうとするとこのエラーがでます。
意味がわかりません。わかる方がいましたら教えてください
328デフォルトの名無しさん:02/07/19 19:32
>>327
動かそうとするとき、大文字と小文字はちゃんと区別してますか?
329327:02/07/19 19:39
>>328さん
ありがとうございます。
大文字、小文字、誤字脱字等のミスはありませんでした。
CLASSPATHの設定を見なおす。
この質問、超FAQで毎スレ2、3回出てると思うんだけど。
331327:02/07/19 21:04
>>330さん 
ありがとうございます。やっぱりクラスパスですか・・・
java -classpath . クラス名 とコマンドを打つと
Exception in thread "main" java.lang.NoClassDefFoundError: javax/jms/Session
と出ます。現在linuxで使っているのですが、windowsで同じプログラムを動かして
見るとうまく行きます。
CLASSPATHはともに
J2EE_HOME/lib/j2ee.jar , J2EE_HOME/lib/locale
が入っています。
Linuxだとほかに何か加えなければならないのでしょうか?
332デフォルトの名無しさん:02/07/19 21:21
int型の引数をとるコンストラクタを持つクラスがあって、
そのクラスを動的にロードし、上記コンストラクタを使って
インスタンスを作るにはどうしたらいいですか?
「上記コンストラクタを使って」の部分でつまってます。。
>>332
hennakurasu hen = new hennakurasu(1);
>>332
java.lang.Class#getConstractor()
java.lang.reflect.Constractor#newInstance()
335332:02/07/19 21:56
レスどもです。
いまやっているのを具体的にいうと、プラグインクラスのインタフェース
まわりの設計です。

>>333
ロードするクラス名は不定(forName()でロード)で、そのメソッド
(コンストラクタ含む)はわかっているという状況なので、困ってます。
書いてなくてすみません。

>>334
getConstructor()の引数にプリミティブなintを指定するにはどうしたら
いいですか?あと、newInstance()はAPIリファレンスには空の引数リスト
でnewしたのと同じとありますが、引数ありでnewしたいのですが。
336334:02/07/19 22:03
>>335
ドキュメントはちゃんと嫁。
int val =...;
Class cls = ...;
Constractor cns = cls.getConstractor(new Class[]{int.class});
Hoge instance = (Hoge)cns.newInstance(new Object[]{new Integer(val)});
337334:02/07/19 22:26
>>335
ついでだけど、
AccessibleObject#setAccessible(boolean)
を併用することで、publicでないメンバへのアクセスも可能になる。
(リフレクションは何もかもをぶち壊しにする可能性のある諸刃の剣
ということですな。)リフレクションを使用したフレームワークを構築
するとき、その機構を外部から隠蔽したいときに使うとよいかも。

ただし、SecurityManagerが許可していない場合など(Servletで
動かしているときなどは、コンテナ側でSecurityManagerがインス
トール済みのことがあるよね)は、↑は出来ないので注意。
338デフォルトの名無しさん:02/07/19 22:36
JavaからDBの入力とか削除とかの操作って出来ますか?
339334:02/07/19 22:38
>>338
できます(条件付で)。Googleで"JDBC"で検索。または本屋にいきなはれ。
340デフォルトの名無しさん:02/07/19 22:58
ていうかDBって何か知ってるのか?
>>340
ドリーム・ボーイ
342デフォルトの名無しさん:02/07/19 23:03
ドラゴンボールに決まってんだろ

>>340
デルタ・ブルース
ドン・ブレーザー
デビッド・ベッカム
>>340
D   B
だってバカですから。
全然関係ないけど
その昔
DBクイーンズってグループがあったよね?
>>345
それはいくら何でも失礼だぞ。

今度の懐かしの人100にLINDBERGが出るらしい。
あんまりだ。今年解散だがまだまだ現役だ。
347335:02/07/19 23:43
>>336
できました!ありがとうございます!!
ところで、int.classは、型intのフィールドclassで、intのClassインスタンス
であるという解釈であってるんでしょうか?同様のことを表すのに、いくつか
あさった限りではInteger.TYPEとしていたのでちょと気になりました。

リフレクションはいろいろおもしろそうなことができそうですね。
深入りするとドツボにハマりそうですが。
348334:02/07/19 23:46
>>347
System.out.println(int.class == Integer.TYPE);
でたしかめれ。
349347:02/07/20 00:07
>>348
確認しました。サンクス!
あと、このことについてさらに検索したところ
http://www.jguru.com/faq/view.jsp?EID=20857
がみつかりました。上記URLには、一貫性と単純さのために、
.classを使えと書いてありました。
350デフォルトの名無しさん:02/07/20 02:31
JButtonを拡張したクラスにActionListenerインターフェイスをつけて、ボタンを押したら新しいウィンドウが開くように書いたつもりなんですが、
開かないです。

class StartButton extends JButton implements ActionListener{

public StartButton(String s){
super(s);
}

public void actionPerformed(ActionEvent e){

Ban ban = new Ban("test");
ban.setDefaultCloseOperation(3);
ban.show();
}

どうすれば開くようになりますか?
>>350
super(s) の下に this.addActionListener(this)
>>351
無事ひらきますた。ありがとうございます。
この言語って独自ファイルフォーマットの実装
って出来ないんじゃないの?
まあ小ざかしい手を使えば出来るのかもしれないが
費用対効果であまり現実的じゃないよな。
あんまり業務で使う気になれんな。
>>353
は? バイナリファイルなら普通に扱えますが?
API リファレンスすら読まない人には仕事で使ってもらいたくないですね :P
356354:02/07/20 03:09
ランダムアクセスもな。
>>354-356
いつもの "彼" なので相手にしないで下さい。
358デフォルトの名無しさん:02/07/20 03:21
ふーん。符号無しbyte型がない言語でねえ。
ぼくはあんまり処理を増やしたくないのだ。
(flag&0x01)!=0x00
といった処理や、
flag=0x01
といった処理が何万とあるとき、
楽に書ければいいんだけど。
あのね 他の言語やってるから JAVAが窮屈なんだよ
JAVAしか知らないプログラマには JAVAは最適だよ
>>358
ちょっとしたビットフィールドなら byte なり int なり使ってくだ
さい。大量のビットフィールドを扱いたいなら BitSet でも使って
ください。符号なし byte が int で代用できない理由は? そもそも
何が聞きたいんですか?
だからJavaのint,byteは符号付だから符号拡張で変なビットが
たってしまうだろ。そこが問題なのだよ。
例えば通信で8ビットでデータを送る場合場合
十進で128以上の値は符号拡張されるだろ。


byteがsignedかunsignedかをきにしなきゃいけないの?
Javaって32ビット以下のプリミティブ値って実行時には
32ビットをアロケートされるんだよね?プログラム上では
intにキャストして全部計算といても問題なし。
byteなんて普通はI/O前後ぐらいでしか使わんとおもうし、
使う必要ない。

・・・と思っていたんだけど、おいらの勘違いですか?
で?
>>363>>361 宛て。
結局最初の byte → int と最後の int → byte で "& 0xFF" って書くのが
面倒という話で良いわけ?
このネタ、JDK1.4βスレでいろいろやってたのを見た。
http://pc3.2ch.net/test/read.cgi/tech/990949654/l50
350前後からかな。
途中で方向が変わってるけど。
>Javaって32ビット以下のプリミティブ値って実行時には
>32ビットをアロケートされる

ということを知らない人がえらい苦労を自ら買っているわけで、
自業自得です。仕様書ぐらい嫁。
まぁ俺も C/C++ から来たばかりの頃は (もう 5,6 年前か) unsigned char が
ないのが不満だったな。「符号なしと符号付で byte と tiny に分けてくれ」
って言いたかったが、どこに主張して良いか分からなかった。C/C++ 時代に
築き上げたバイナリ操作の小技がほとんど使えなくなってしまったんだからな。
しかしあえて Java 流儀でやり始めてみると、そんな小技は大したもんじゃ
なかったと思うようになった。

まぁあれだ、つまりは言語移行時のはしかのようなもんだ。
368っていうか:02/07/20 05:46
char 型使えば?
>>358
BugP(以下略)
プリ(以下略)
そんなに めんどくさいなら呼(以下略)
>>365
懐かしーっすね
>>367
さっきから見てるとごねてるのはCを使いこなしすぎた人々ですな。
JavaにCの面影を探してるよう。

「1代目は本立てにもっと細かな彫刻を施してたぞ。2代目はクソ。」

お前はその彫刻が無いと本を立てられんのかと。
むしろ、彼の作った伸縮時代で漬け物石にもなるという高機能は無視なのか。
みたいな。
>>365
あー、そこだそこだ。俺が byte のほかに tiny 型が欲しいって言ったの (藁
>>371
いや、Cを使いこなした人だったら、
ゴネてないでちゃっちゃとプリプロセッサ書いちゃいます。
ゴネてるのは(以下略)
>>302
>>307
市ね
>>374
煽りはスピードが命。
>>374
このスレくらい全部読め
過去スレまでとはいわんから
377デフォルトの名無しさん:02/07/21 15:28
初心者どころかなんの知識もないんですが…プログラミングって何にやればいいんでしょう?
ツールとかいらないんですか?
>>377
>何にやればいいんでしょう?
基本的にはコンピュータ
Javaやるつもりなら、コンパイラくらいは必要だね。
あとメモ帳も必要だろう。
あと鉛筆。
定規があるとなおよい。
とりあえず、入門書買ってこい。いっぱいあるから。
サンプルプログラムがいっぱい載ってるやつが良いと思う。
役に立たない本に限って、ごたくならべて、うんちくたれてる。

と、釣られてみるテスト。
JAVA1001Tipsか?
JAVA Program in a Nutshellか?
>>382
アプレットから勧めるべきだろうか?
じゃあJava2は避けさせた方がいいのだろうか?
>>384
間を取ってJAppletだ!
せっかくだから、どんな入門書がいいか吹いてください。
・DOS窓の正しい使い方が載っている
・PATH / CLASSPATH の正しい説明が載っている
・コンパイル時・実行時のトラブル対策が載っている
とか。

>383
それは入門書じゃないと思います…

>384
アプレット本だから悪いって事はないと思うんだけどな。
まぁ、HelloWorld ぐらいはやっといてもらいたい気もするが。
File だ、Stream だ、なんてのは次のレベルだと思うし。
Java2 かどうかは関係ないっしょ?
最近の本はどっちのイベントモデルで書いてあるんでしょうかね?
アプレットでMIDIを鳴らそうと思ってとりあえず
・・・
AudioClip ac = new AudioClip(getDocumentBase(),"test.mid");
ac.play();
・・・
とやってみたんですが、
ふつうのmidiプレイヤーで再生して出る音量と違って、Maxボリュームにしても
殆ど聞こえない!です。ボリュームを管理するにはどうすればいいか教えてください。
アプリの方には独自のクラスとボリューム調節用メソッドがあるようですが、、、

>>386
JAVA Program in a Nutshellは入門書だと思ったのだが・・・
>>387
ちょっと待て。AudioClipはインタフェースではないか。
new出来るのかと小一時間・・・


少なくとも
AudioClip ac = applet.getAudioClip(getDocumentBase(),"test.mid");
ではないのか?
正確なコードを切り張りして再挑戦。
390訂正:02/07/21 22:28
あ、よく見たらgetDocumentBase()とかやってるから、Appletのサブクラスか。
ならば正確には
AudioClip ac = getAudioClip(getDocumentBase(),"test.mid");
だな。
>>387
判明。
× getDocumentBase()
○ getCodeBase()

理由
getDocumentBase() はアプレットの載っているHTML文書のファイル
のurlを返している。


とか書いてたが、試しにやってみたら・・・音が出た・・・


とするなら、HTML文書のurlにtest.midが無い、もしくは名前間違い。
ではないのか?例外起きないから。

import java.applet.*;
import javax.swing.*;

public class AudioApplet extends JApplet {
AudioClip ac;
public void init() {
System.out.println("getCodeBase() : "+getCodeBase());
System.out.println("getDocumentBase() : "+getDocumentBase());
ac = getAudioClip(getDocumentBase(),"test.mid");
}
public void destroy() {
ac = null;
}
public void start() {
ac.play();
}
public void stop() {
ac.stop();
}
}
>>386
君には、このスレがあるから大丈夫ね。
「入門xx」買って、とりあえず始めなさい
まずはそれから
>>392
「入門酔拳」?
394386:02/07/22 00:54
>389〜391
 早速レスありがとうございます。書き込みはミスでした(getAudioClip()でした。)
音は出るんですが、Maxボリュームでやっと聞こえる程度で困ってます。
今のところ"MIDIファイルをMML形式に変換していじる"しか思いつきましぇん。

import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import java.applet.AudioClip;

public class audio2 extends Applet{
AudioClip ac;
Button bt1;
public void init(){
add(bt1 = new Button("play"));
bt1.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e){
ac.play();
}
}
);
ac = getAudioClip(getDocumentBase(),"hikari.mid");
}
}
395387:02/07/22 00:56
↑387の間違いですスミマセンスミマセン
>>394
>MIDIファイルをMML形式に変換していじる
ここまでできるならMIDIファイル直接いじれよ・・・。
397377:02/07/22 09:41
厨質問に答えていただきみなさんありがとうございます。それでは入門書買ってきます。
398独習Java勉強厨:02/07/22 18:09
誰か私に抽象クラスとインターフェースの存在意義について
説明してくれる勇者はいませんか?とくにインターフェース。
空っぽのメソッドだけ宣言していったい何になるのかがどうしても理解しがたいんです。
あとでそれを継承したインターフェースやらクラスやらでメソッドを記述するなら
大元で空っぽのメソッドなんて書かなくてもいいじゃないかと思ってしまいます。

そしてもうひとつ質問が。
定数として扱うものはクラスの先頭で宣言しなくてはいけないものですか?
public static void main(String args[])よりも前に記述してあったので少し気になった次第です。
399初心者君。:02/07/22 18:31
すいません質問が有ります
抽象メソッドの宣言は、
public abstract void method();
で良いんですよね。
この場合戻り値がvoidなのでこのメソッドをオーバーライドするメソッドも
戻り値を無しにしなくてはいけないのですか?
public abstract method();
では何故いけないのですか?
400デフォルトの名無しさん:02/07/22 20:23
あるハッシュ表の中身を一端ファイルにとっておき、またそのファイルから
ハッシュ表に読み込むにはどうしたらいいですか。
できれば、具体的に教えて欲しいのですが。
401とか。。。:02/07/22 20:41
>>399
いけない。戻り値もオーバライドの一部で戻り値のみかえるのはいけない。戻り値を省略できるのはコンストラクタのみ。
402とか。。。:02/07/22 20:49
>>398
インタフェースはジャバにない関数ポインタの替わりにつかえるっしょ。
後それなりの多重継承用。多重継承のあるC++からなぜ削られたかは
EffectiveC++っちゅう本を読むとそのやらしさ、危険さはわかる。
403デフォルトの名無しさん:02/07/22 21:37
作成したスレッドの中で起きたエラーを、スレッドの作成元へ返すには、どうすればいいでしょうか?
>>403
パラメータとして呼び出し元の参照を受け取っておく。
>398
 メニューボックスから「二重丸」か「五芒星」か「文字列」を選んで、クリックした場所にそれぞれ二重丸や五芒星や文字列を書くアプレットを考えます。
再描画とかがあるので、できた二重丸クラスや五芒星クラスや文字列クラスを配列に格納していくとします。
でもappletのpaint()メソッドで、いちいち
public void paint(Graphics g){
for(int i = 0;i<myVector.size();i++){
if(myVector.elementAt(i) instanceof TwinCircle){
((TwinCircle)myVector.elementAt(i)).drawTwinCircle(g);
}else if(myVector.elementAt(i) instanceof Pentagon){
((Pentagon)myVector.elementAt(i)).drawPentagon(g);
}else if・・・
とかやって「自分で」クラスによって処理を分岐させるのは面倒ですね。クラスが多くなると氏にたくなります。
pubilc interface drawable{
public void draw(Graphics g);
}というインタフェースを定義してやれば、
二重丸クラス、五芒星クラス、文字列クラスがそれぞれこのインタフェースをimplementsして、
drawメソッドを上書きしておくことで、メインのアプレットのpaintメソッドは
public void paint(Graphics g){
for(int i = 0;i<myVector.size();i++){
((drawable)(myVector.elementAt(i)).draw(g);
}
}
で済みます。つまり自動的にjavaがクラスに応じてそのクラスのdrawメソッドを呼び出してくれます。
これはインタフェースでなくクラスの継承でもできますが、例えば座標と半径を持つ円クラスを親クラスとして、二重丸クラスと五芒星クラスには半径rを適用できますが、文字列クラスには半径rは意味がありません。
振る舞いの大きく異なるクラスはインタフェースで結んだ方が良いです。

406Polymorphism:02/07/22 22:05
>>398,>>402
あのな・・・多態性を忘れているぞ。
インタフェースの最大の意義である多態性を説明しなけりゃどうにもならん。
関数ポインタっーか関数オブジェクトもそれ抜きには始まるまい。


・・・「多態性」でググってみてくれ。長すぎる話になるから。
その上で分からない部分を聞きに来てくれ。スマヌ。
>例えば座標と半径を持つ円クラスを親クラスとして、二重丸クラスと五芒星クラスには半径rを適用できますが、文字列クラスには半径>rは意味がありません。

って言うか、

文字列は円である。

はばかげていると思わないかい?
408Polymorphism:02/07/22 22:13
正直、多態性をマスターできたら初学者卒業だから、あと一歩だ。
理解すれば、なるほど!と膝を打つから。
409デフォルトの名無しさん:02/07/22 22:30
>>399
よく考えれば分かると思うけど、
戻り値が不定なメソッドを作ったとしても
利用のしようが無い。
410初心者君。(俺も独習Java):02/07/23 01:24
>>409
抽象メソッドをオーバーライドしてメソッドを作る場合って引数とか戻り値を変えないと
意味が無いように思えるんですが。
う〜んイマイチ理解できましぇん。
>>410
そうすると多態と言うオーバーライドの目的の一つが使用できなくなります。
その考え方ならオーバーライドなんて無くてもいい。全部隠匿すればいいんだから。
>>410
抽象メソッドを作る時点で
役割が決まってるんだから
返り値も当然決まってる筈だろ?
>>410
つぅか継承も否定することになりそうな。
414398:02/07/23 01:32
>405
なんとなくは分かったような気がするのですが、
分からない部分がうまく言葉にならないので、明日一日考えてみます。
皆様、ありがとうございます。
多態性についても検索してみます。
415デフォルトの名無しさん:02/07/23 03:11
数値や文字がたくさん入ったTXTデータからそれを読みこんで
たとえば「DATE」というのを見つけたらその次の数値を表示させるなど)
をしたいんですが教えてもらえませんでしょうか
416H:02/07/23 05:07
//ピースイメージ生成
//--------------------
for (i=24;i>=0;i--) {
image[i]=Image.createImage(20,20);
image[i].getGraphics().drawImage(imgPic,
-20*(i%5),-20*(i/5),
Graphics.LEFT|Graphics.TOP);

わかりますか??(>_<)
>>400

// 書き込み
Hashtable table = new Hashtable();

ObjectOutputStream out = null;
try{
  out = new ObjectOutputStream(new FileOutputStream("hoge.ser"));
  out.writeObject(table);
} finally {
  try{if(out != null) out.close();}catch(IOException ex){/* */}
}

// 読み込み
ObjectInputStream in = null;
Hashtable table = null;
try{
  in = new ObjectInputStream(new FileInputStream("hoge.ser"));
  table = (Hashtable)in.readObject();
} finally {
  try{if(in != null) in.close();} catch(IOException ex){/* */}
}

まぁ例外処理はお好きなように。
>>415
とりあえず StringTokenizer を使ってみろと言っておく。
JavaSDK1.4.1ってApplet作れないんですか?
ClassNotFoundになっちゃうんですけど。
>>416
Image は抽象クラスなので BufferedImage(20,20,BufferedImage.TYPE_INT_RGB)
でも使え。
あと、Graphics.drawImage の引数4個版の第四引数はImageObserverなので変。


内容的にはimgPicの画像を使った16パズル系のゲームのピースイメージのロード。
ピースは20×20のサイズで元絵は100×100。
5×5ピースだが24個しか無いのは右下の1ピースは移動用に開けてある為。
>>419
アプレットタグが間違ってないか?
>>419
appletviewer で ClassNotFound になるか確認すれ
423デフォルトの名無しさん:02/07/23 12:11
>>415
そのデータ見せてみ
>>419
javac -version 1.1 Hoge.java
で試してみ
425424:02/07/23 12:24
javac -target 1.1 Hoge.java
だったよ。すまそ
426デフォルトの名無しさん:02/07/23 13:03
Objectの配列が格納されたVectorから、Objectの配列の配列を得るのにイイ方法ってどうよ?
つまり
Vector v = new Vector();
while (hoge.hasNext()){
  Object[] oa = new Object[hoge.getSize()];
  for(int i = 0; i < oa.length; ++i){
    oa[i] = hoge.getData(i);
  }
  v.add(oa);
  hoge.next();
}
みたいな感じでVectorにObject[]流し込むんだけど、これをObject[][]で得たいのよ。

いまのところ
Object[] oa = v.toArray();
Object[][] oaa = new Object[oa.length][];
for(int i = 0; i < oa.length; ++i){
  oaa[i] = (Object[])oa[i];
}
ってやってるんだけどね。
>>426
Object[][] array = v.toArray( new Object[v.size()][] );
ではダメなのか?
428415:02/07/23 14:56
レスありがとうございます
>>423
--sample.txt---

SampleA
1 32.1 23.4
2 11.2 21.2
SampleB
1 15
2 24
3 55
・・
・・
--------
みたいなデータでこのtxtからSampleBを呼んでそこの次の行からの二行ずつの数値を
配列に取り込みたいんです。
どうかよろしくお願いします。
429デフォルトの名無しさん:02/07/23 20:28
>428
LineNumberReader使って、1行づつ読んでみればいかがでしょうか。

LineNumberReader reader
= new LineNumberReader( new FileReader("sample.txt"));

String str = reader.readLine();

みたいな感じでreader.readLine()で1行づつとってこれるから。
とりあえず、SampleBと一致するまでは簡単でしょ。
次の行からは適当にパースしてみ。
BufferedReader にしとけ
431恐れながら・・・:02/07/23 22:51
java . lang . Object にある「 lang 」ってどういう意味ですか?
英和辞典で調べてもありませんでした・・・。
よろしくお願いします。
>>431
言語
433431:02/07/23 23:01
>>432
どうもありがとうございます。
languageの略だったのか・・・鬱だ
>>431
languageのabbrriationじゃないっすかね?
まちがい。
abbreviation
>>434-435
遅レスかつ自分の知識をひけらかしたい&間違い。
>>436
マァマァ。
みんなそんなもんさ。
>>431
languageですよ。
439415:02/07/23 23:36
レスありがとうございます
>>429,230
readLine()を使うのは分かるんですがそこから先が良く分かりませんでした。
やりたいこととしては、SampleBまでtxt内容を読まずにすすみSampleBの書いてある行を見つけたらそこから次の行から
処理を行えるようにしたいんです。
この「SampleBを見つけ出す」ってのはどうすればいいんでしょうか
厨房な質問ですみません。
内容を読まずにどうやって SampleB の位置を見つける気?
どこかにインデックスでも作っておかない限りそんなことは出来ないよ?
>439 じゃ何らかのBufferedReader bfは作ったとして。
import java.util.StringTokenizer;

・・・
boolean isDataHeaderFound;
int line,counter;
int dataList[] = new int[MAX];
String tmp = new String();
StringTokneizer st;
while(!(s = bf.readLine(line)) = null){
  st = new StringTokenizer(s);
  if(!isDataHeaderFound){
   if((st.nextToken()).equals("SampleB")){//文字列の比較は等号を用いない
    isDataHeaderFound = true;counter = line+1;
   }
  } else {
dataList[line-counter] = Integer.parseInt(st.nextToken());
   //Integerクラスのstaticメソッド、parseIntを呼び出している。
}
}
・・・
line++;
}
442デフォルトの名無しさん:02/07/24 01:03
おセロのゲームのを作っているのですが、
ユーザーからの入力(次の指して)を待つときは
ポーリングするのがいいのでしょうか?

他にいい方法があれば教えてください。
443426:02/07/24 01:07
御疎レスすまそ
Object[][] array = (Object[][])v.toArray( new Object[v.size()][] );
でイケたよ。
さんくす。引数付きのtoArrayってこうやって使うんだね。
444426:02/07/24 01:09
>>443>>427

>>442
イベントは使えんの?
>>442
イベントドリブンに頼ってみる。
446デフォルトの名無しさん:02/07/24 01:21
メンバ関数はメソッドって言うけど
データメンバはなんていうの?
>>446
C++で言うメンバ変数はフィールド。広義のプロパティでもあるかも。
448446:02/07/24 01:25
φ(・・)ほうほう
>>446
インスタンス変数
450デフォルトの名無しさん:02/07/24 01:44
もともと「メソッド」っていうのは、オブジェクトにメッセージを
送ったときに、実行されるコードをさしてたんだよね。
オブジェクトがどのクラスのインスタンスかによって、実行される
コードが違うから。
だから「メソッド探索」っていうんだよ、「メソッド選択」じゃなくて。
探索して探し当てたものがメソッドだから。
メンバ関数を「メソッド」って言うようになったのは、Javaが出てきてからの気がする。
451デフォルトの名無しさん:02/07/24 01:59
>イベントドリブン
イベントドリブンの意味はわかるんですけど、
オセロの入力にどう使うんですか?

マウスイベントが発生するまで
ポーリングするというのが、
一番普通に思いつく方法なんですが・・・・
他にいいのありますかねー?

この方法は、ソースコードが汚いので、気分的になんかいやなんですよね。
452デフォルトの名無しさん:02/07/24 08:45
>>451
イベントドリブンとか、ポーリングとか、意味を本当に理解していますか?
イベントドリブンはイベントが発生するまで待っているという方式。待っている間、
居眠りしていようが、別の仕事をやっていようが構わない。
それに対して、ポーリングは常にこちらから相手のイベント送出があったかどうかを、
聞き回る方式です。通常、イベントを発生する相手は複数あり、これを巡回して注文を
聞き回り、なければ次の相手…、と進め、一巡したら(場合によっては少しインタバルを
置いて)また初めからご用聞きに回る…というやりかたですよ。
このイベントが発生したらこのプロセスが動き出すという仕掛けになっているのが、
イベントドリブンという方式です。OOの基本概念の一つと言ってもいい。これを
きちんと理解しないと、Javaは使いこなせませんよ♪
>>450
Java以前からも言ってた気が。
>>431
language
>>455
lang くらいで知識をひけらかせていると考えるヤツって、どういう知識を他にもってんだ?
>452
そりゃそうなんだろうけど、ロウレベルでの処理を考えてしまうと
そんなんどうでもいいや、という感じだよね。
おいら、あんまり抽象的な考えかたって出来ない…。
>>457
>ロウレベルでの処理を考えてしまうと
Javaで考える必要ないと思うぞ?
459457:02/07/24 09:32
460457:02/07/24 09:34
ごめん。途中で送ってしまった。
>>458
もちろん考える必要はないですし、むしろ考えるべきではないですね。
でも、考えてしまう自分が嫌だというか。
Java の GUI 使ったゲームでポーリングなんかしたら画面が
表示されないぞ。駆動はイベントディスパッチャーにまかせとけ。
462デフォルトの名無しさん:02/07/24 09:58
ボーリングゲームは作れないんですか?
つか、Listener使わないでマウスイベント拾う方法って知らない。
知らなくてもいい事という意識で調べてもいない。
実際、あるのか?そんな方法。
>>463
JDK 1.0 AWT Programming
>>464
あれもどうかとおもうけどね。
Javaで平仮名→片仮名変換やら半角全角変換やらは、どうやったらできるですか?
>>466
unicode表を読もう。
468466:02/07/24 13:11
>>467
らくらくぽんでやりたい。
>>468
らくらくぽんでやってください。
470466:02/07/24 13:34
>>469
やりかた知らない?
イガぴょんのライブラリってどうなん?
カマって君は放置してくれる?
>>472
OK。>>466は放置で。
474420:02/07/24 14:14
あ、5×5ピースあるじゃん・・・何見てるんだ俺。
475415:02/07/24 14:36
レスありがとうございます
>>441
それを元にいろいろ試してみたんですが上手くいきませんでした。
できればここをおしえてもらいたいです。
while((s=f.readLine())!=null){
で一行ずつ読んでいって
その一行にSampleAという文字がなければ次の行、
もしあればそこでwhile文を抜けたいんです。
この書き方を教えてもらえませんでしょうか。
441さんのやつで一応やったんですがどうもエラーがでてしまいました。
よろしくお願いします
476デフォルトの名無しさん:02/07/24 14:37
JavaはC厨でも身につけられますか?
>>476
配列はポインタのインクリメント以外で参照したくないぜー!とか言う人間には向いてない。
478デフォルトの名無しさん:02/07/24 14:41
>>477
私は添え字も使いますよ!
479478:02/07/24 14:44
とりあえずJavaの本を買ってくるか・・・・
>>478
って言うかごちゃごちゃ言う前にさわればよかろう。
必要なものは無料だ。
時間は腐るほどあるだろう。
>>480
本が高いので・・・・
482名無しさん:02/07/24 15:06
URLに有るパラメータで、
ttp://localhost/test.html?name=xx
このnameをtest.html上に設置しているAppletで取得したいのですが、
こういうことはできるんでしょうか?
appletタグにparamをつければ動作できるのですが、
呼び出し元からパラメータを送り込んでやりたいのです。
アドバイスください。よろしくお願いいたします。
>>482

JavaScript PHP CGI。。。
484デフォルトの名無しさん:02/07/24 15:10
>>482
CGI
>>482
Servlet/JSP
Rudy Perl
>>482
1. アプレットに getHogehoge(String) というメソッドを付けておく
2. アプレットタグに <APPLET ... NAME="aaa" MAYSCRIPT> を付けておく
3. JavaScript で name の値を取得し、aaa.setHogehoge(name) で設定する
488H:02/07/24 18:02
//ピースイメージ生成
//--------------------
for (i=24;i>=0;i--) {
image[i]=Image.createImage(20,20);
image[i].getGraphics().drawImage(imgPic,
-20*(i%5),-20*(i/5),
Graphics.LEFT|Graphics.TOP);

わかりますか??(>_<)
かなり恥ずかしい質問ですんません
servletを作ろうとしているんですけど
どうやって環境を構築していいんか訳わかんなくなってしまいました
サンのHPにいってJ2SEとJ2EEをそれぞれ落としてきて
インストールしたんですけど、いざjavax.servletをインポート
してコンパイルしようとするとエラーでこけちゃいます
servletの開発環境としてJ2EEとJ2SEのほかにまだ必要な
ものがいるんでしょうか?
どなたかアドバイスください。よろしくおねがいします
>>488
お前、まったく同じ書き込みを昨日もしたろ。氏ねや糞ボケ。
>>489
自分の分をわきまえろ。
492420:02/07/24 18:23
>>488
>>420, >>474 で答えた俺は小一時間説教しようと思うんだが?
493中坊:02/07/24 18:30
すみませんが,質問があります
’@’を’( ’に変換し、問題の番号を挿入するものを
作ろうとしています。
実際作って色々と試しているのですが,エラーがでてはかどりません。
簡単なプログラムですが、なにぶん中坊なのでよくわかりません。
すいませんが、アドバイスをください。
よろしくおねがいします。
プログラムはこれです。

import java.io.*;
public class Ren1{
public static void main(String args[]){


String str= new String("794年@(平安京)が建てられる1192年@(鎌倉幕府)樹立");
StringBuffer str2= new StringBuffer(str);
int cnt=1;

for(int i=0;i<str2.length();i++){
if((str2.charAt(i))=='@')
str2 =str2.replace('@','(');
str2= str2.delete (i,i+1);
str2= str2.insert(i+1,cnt);/*問題番号を挿入する*/
cnt++;
}

System.out.println(str2);

System.out.println(str2);}
}

Linux に Tomcat を入れたいんですけど、
J2SE を入れた後に TOMCAT を入れなければならないのですか?

あ、Apache は DSO が ON で入ってます。
>>494
しつこいな、クソ人間。
クソはおめーだろ
米海軍の艦上戦闘機F-14 TomcatはVG可変翼装備のスタイリッシュな機体です。
また、映画「TOP GUN」ではTom Cruiseらが操縦する機体として登場しました。
比較的人気のある機体であり、例によって私もF-14フリークです。
まずは検索

JSPに関するQAスレッド
http://pc3.2ch.net/test/read.cgi/tech/1014905560/
Servlet/JSPのフレームワークを語るスレ
http://pc3.2ch.net/test/read.cgi/tech/1001950590/
>>489
このスレに同じ質問があったはず
>>493
色々と問題(StringBufferのメソッドを理解してない)とかあるが、一番の問題は
どういう出力を望むのかイマイチ分からないこと。

794年(1(平安京)が建てられる1192年(2(鎌倉幕府)樹立

と表示したいのか?


初心者としては StringBuffer を使っているところは評価したい。
StringBufferに関してはAPIのヘルプを熟読すれば自力でなんとかなると思う。
APIは日本語版のヘルプがあるのでなめるように読みふけること。
>>493
凡ミスとしてループ内の文字検索 if((str2.charAt(i))=='@') の効果範囲がおかしい。
「@を見つけた時だけ」行わせたい処理なのに、その他の文字を見つけたときも
実行している。

しかし、これはコンパイルでは発見されない先走ったアドバイス。
まずはStringBufferを完璧に使いこなせるように色々とやってみよう。

コンパイルが通った後で、頭を絞ってデバッグするのだ〜
502中坊:02/07/24 20:59
501さん,502さんアドバイスありがとうございます。
出力結果は
794年(1平安京)が建てられる1192年(2鎌倉幕府)樹立
この様な感じにしたいんですが
やってみると中々出来ないんですが、奮闘中です。

>>502
夢壊して悪いんだが正規表現クラスでぱっぱっぱじゃ駄目?
504中坊:02/07/24 21:02
>>503さん
すみませんが,サンプルを教えて頂けないでしょうか?
正規表現ねぇ・・・
ttp://www.ingrid.org/jajakarta/regexp/
なんかは定番だけど、StringBufferとかでギコギコやるやり方覚えて
からじゃ駄目かな?
色々奮闘努力することが基礎力UPに繋がるじゃない。
煮詰まったあげくに突然「あ」と理解が進む瞬間の快感を若いうちは
大事にして欲しいな。
>>505
まぁ、半分冗談だからね。
初めのうちはアルゴリズムとどろどろになりながら戦うのをおすすめするけど。
こっちは試したこともないんだが、どっちの方がより定番の正規表現?
ttp://www.cacas.org/java/gnu/regexp/
前者はBSDタイプのライセンスなのでGPLに縛られた後者より自由に使える。
と思っているのだが。>正規表現
>>508
文章わかんないよ。

前者はBSDタイプのライセンス
後者はGPLに縛られたもの

ってこと?んじゃ、後者の方が自由に使えるじゃん。
510デフォルトの名無しさん:02/07/24 22:05
サーブレットなのだが本とかに書いてある例だとHTMLとサーブレット
が1対1なのだが
HTMLが5個あってもサーブレットを1つにしてそれぞれ別の処理もできるんだろうけど
やり方がわからん
HTMLに<input type="hidden" name="flag".. でフラグを埋め込んでサーブレットで
getParamaterで受け取って判断させるとか考えたけどもっとスマートなやり方あったら
教えてください
>>508
ソース隠匿主義?
MSの回し者?
>>510
refererとるくらいだろ。
>>509
GPLの物を使ったらはGPLの物しか作れないのを知らないのか?
>>510
web.xml にサーブレットの振替名を 5 つ定義しとけ。
j2sdk-1_3_1_04 で TOMCAT を入れたいんですが
TOMCAT のバージョンてv3.3.1で良いんでしょうか?

しかもApacheのモジュールが
mod_jk-3.3-ap13-eapi.so 27-Mar-2002 05:46 93K
mod_jk-3.3-ap13-eapi.so.asc 27-Mar-2002 05:46 285
mod_jk-3.3-ap13-noeapi.so 27-Mar-2002 05:46 93K
mod_jk-3.3-ap13-noeapi.so.asc 27-Mar-2002 05:46 285
mod_jk-3.3-ap20.so 27-Mar-2002 05:46 114K
mod_jk-3.3-ap20.so.asc 27-Mar-2002 05:46 285

こんなにあってどれをつかってよいやらわかりません!!
>>513 = >>508 なの?
517508:02/07/24 22:20
>>516
違うよ。
518513=517!=508:02/07/24 22:21
すまん。俺は>>508じゃなくて>>513だった。
ジサクジエンしているヤツはほっとけ。
520デフォルトの名無しさん:02/07/24 22:43
StringをDateに変換する標準的な方法を教えてください
Date date = (Date)"String";
>>520
String d = "2002/07/24";
DateFormat df = new SimpleDateFormat("yyyy/MM/dd");
Date date = df.parse(d);

だったかな。
523505=507=508:02/07/24 22:50
>>493
正規表現版・・・とか言ってライブラリのインストール方法は書かないという
意地悪をしてみる。

[コード]
import org.apache.regexp.*;

public class Ren1_regexp {
public static void main(String args[]) {
try {
RE r = new RE("@\\(");
String[] strs = r.split("794年@(平安京)が建てられる1192年@(鎌倉幕府)樹立");
StringBuffer str2= new StringBuffer(strs[0]);
for( int i=0 ; i<strs.length-1 ; i++ ) {
str2.append("(").append(Integer.toString(i+1)).append(strs[i+1]);
}
System.out.println(str2.toString());
} catch ( RESyntaxException e ) {
e.printStackTrace();
}
}
}

[結果]
794年(1平安京)が建てられる1192年(2鎌倉幕府)樹立


>>520
Date.valueOf(String) が良いのでは?Stringは"yyyy-mm-dd"形式だが。
524デフォルトの名無しさん:02/07/24 22:53
>>522
ありがとSUN
525中坊:02/07/25 00:02
>>523さん
ありがとうございます。
よく、わかりませんが・・・
わかるよう努力してみます〔無理っぽいけど
526デフォルトの名無しさん:02/07/25 00:16
JavaでPDFってどう作るのがおすすめ?
Java2 1.4のドラッグアンドドロップを解説してるサイトって
無いもんでしょうか?
なかなか見つからなくて。
PDF pdf = new PDF();
>>526
XSLT-FO
>>526
LaTeXファイルを生成してPDFLaTeXでPDFに変換という手がある
ttp://www.rmatsumoto.org/tex-ps-pdf/tex-to-pdf.ja.html

つか、LaTeXソースがありゃあ大抵のドキュメントができるもんな。
LaTeXソースの書き方?そこまで面倒見れません。
XSLT関係も、regexpも、JDK1.4ならコアAPIにバンドルされてるよ。
動かす側もJREだけで済むので、コアのAPI使っとく方が何かと便利かも。
forの条件更新式なんですが、x=0、y=0の時に

for (;x<10;){
x++;
y=y+x;
}
            コレだとyが55

for (;x<10;x++){
y=y+x;
}
            コレだとyが45
になるんですが、これは計算方法がどう違うんですか?
533でふぉるとん:02/07/25 01:07
>>532
おちつけ。
おちついて、脳内デバッガでステップ実行してみるんだ。
534defaulton:02/07/25 01:12
>>532
最初はこうだ。

for (;x < 10;) {
x++;
y = y+x;  //y = 0+1
}

for (; x < 10 ;x++) {
y = y+x;   //y = 0+0
}
535デフォルトの名無しさん:02/07/25 01:15
JTreeで、ノードを強引に展開させたいんですが、expandPathを使っても展開されません。
使い方が悪いのか、表示が変わってないだけなのか・・・?
536困るよアプレット。:02/07/25 01:20
アプレット作ってる。適当な文字列をブラウザ上のテキスト
エリアに入力後、ボタンを押すと次のアプレット画面が同じ
ブラウザ上に表示される。ただし、前アプレットで入力した
文字列を後アプレット画面内のテキストエリアに貼り付けた
い。前アプレットのデータはどうやってもってくりゃいいの?
ちなみに前アプレット(*.html,*.class)、後アプレット
(*.html,*.class)のファイルは同じサーバーにありますが
格納しているフォルダは別です。いいたいことがうまくいえん。
表現へたですまんが、どなたか教えてください。

さらに、後アプレット画面には前アプレット画面に戻るボタ
ンがあるのでこれを押すと前アプレット画面が最初に入力し
た文字列も含めて表示されるようにしたい。
537535:02/07/25 01:33
あ、なんとかできそうかもです・・・。がんばります。
初心者歓迎だけど、日本語初心者ってえのはなあ・・・
サーバーサイドで動的にHTMLを生成するか、
アプレットを一つにまとめるしかないんじゃない?
アプレットってのはそういうこと向けにできてないよ。
ボタン押したらcgi呼び出すようにして、そいつにパラメータで
わたしといて、cgiがアプレット含んだhtmlを作るときに、受け取った
文字列をまんまアプレットにパラメータで渡してやればええやん。

つか、板違い。
540532:02/07/25 02:57
>>533
すいません、俺の脳内デバッガはバグだらけなんで(泣

>>534
ありがとうございます
最初の計算方法の違いは凄く良くわかったんですが、
それだとループする回数が違うだけで、
やっぱり同じ数になると思うんですけど???

それとですね、自分で聞いていてアホかと思う質問なんですが、
x<10 ってことは
9<10 true
10<10 false ですよね?ということは、このプログラムは1〜9まで
しか足さないので、上の式でもyは45になると思うんですけど…
541デフォルトの名無しさん:02/07/25 03:10
>540
上はloop内で足しているでしょ?。。。。ふぅ。。。
16進数の数列を1バイトずつcharに変換したいのですが、どうすればいいでしょう?
41→Aって具合に。
数列はこんなかんじです。
String str = 7768656e2074686520
一応これでできるんですが、どうも素直じゃないなと。
for (int j = 1; j < str.length() / 2; j++){
char ch = (char)Integer.parseInt(str.substring(j * 2, (j + 1) * 2), 16);
>>540
これ↓と
for (;x < 10;) {
x++;
y = y+x;
}

これ↓の違いは分かる?
for (;x < 10;) {
y = y+x;
x++;
}
544532:02/07/25 04:45
>>543
分かりました。
上は55で下は45です。

xが9のとき下の式では y =y+x; //36=36+9 ⇒ 45=36+9
次にx++ でxが10になり、
ループの頭に戻って 条件式x<10 が 10<10 なのでfalseとなります
yは45です

xが9のとき、上の式は 先にx++なので 45=45+10 ⇒ 55=45+10
ループの頭に戻って 10<10 なのでfalse
yは55です
545532:02/07/25 04:56
おかげさまでこの式

for (;x < 10;) {
x++;
y = y+x;
}

が55になる理由は分かりました
本当にありがとうございます
あとはこっちなんですけど…

for (;x<10;x++){
y=y+x;
}
546532:02/07/25 05:26
for (;x<10;x++){
y=y+x;
}

先ほどと同じように考えると、
xが9の時、 x++されて xが10になり、
y =y+x は45=45+10 ⇒ 55=45+10になって、
yは55になると思うんですが、何故45なんでしょうか?
>xが9の時、 x++されて xが10になり、
この直後に終了条件の判定が入ります。
そして、条件が成立していれば、その後に
> y =y+x
が実行されます。
548532:02/07/25 06:42
>>547
条件判定はx++されてからなんですか。
並び方が(条件初期化式;条件式;条件更新式)だったので
大きく誤解をしてました。ありがとうございます。

教えてくださった皆様、本当にありがとうございました。
for (<初期化>;<条件>;<更新>) {
 <内容>;
}
は、
<初期化>;
while (<条件>) {
 <内容>;
 <更新>;
}
と全く同じだからね。
「判定がxが更新された後」というより
「xが更新されたら、ループの先頭に戻って再度条件判定を行う」という方が正確。
正規表現は apacheなら OROが いい感じです。
巷に出回る4つばかりの正規表現ライブラリについて、
ちょっと性能を測ってみたんですが、
OROは組み方によっては J2SDK1.4標準の正規表現ライブラリより
速くなる場合がありました。
ただし、ものすごく便利な OROの Perlライブラリ使うと、
パフォーマンスは最下位に。
とはいっても 実行速度としては 問題ありませんが。
質問です。
JAVAでアニメーションカーソルとか使えますか?
しばらく放置してたらカーソルがピクピクなるような。
>>542
byte[] b = (new java.math.BigInteger(str,16)).toByteArray();
とでもやって (char)b[i] とするのはどうか?

charは最大2Byteだよから、本来はモノによっては文字列4Byteを変換する
必要あり。バイト列にして変換したほうが良い。
例えば16進文字列str16を文字列strに直す場合には
String str = new String((new java.math.BigInteger(str16,16)).toByteArray());
という感じ。
クラスとインターフェイスをあわせて何て呼ぶ?
さらに配列もあわせれば参照型と呼ぶが。
>>552
ありがとうございます。
下の方法が簡単そうなので、それでやってみたらうまくできました。
>charは最大2Byteだよから、本来はモノによっては文字列4Byteを変換する
>必要あり。
なるほど。実は>>542の方法だとすこし文字化けがありました。
556デフォルトの名無しさん:02/07/25 14:04
strutsのActionクラスを継承したhogehogeクラスのperformで
request.setAttribute("xxx" , "xxxx" );
のように設定した値を
<%= request.getParameter("xxx") %>
のようにして取得したい場合、setAttributeをした後に
どのようにすればよいのでしょうか?
557552追記:02/07/25 14:12
16進コードの元の文字コードによっては String(byte[] bytes,String enc) を使って
Javaで使用している16 ビット Unicode 文字に変換することもできる。

BigIntegerを使ったのは、昔それでうまくいったからなだけで、多分もっと良い方法も
あるのかも。
>>556
ここではJSPとかServletは分からんので >>498 のスレッドがあるし
そこで聞いてくれ。
>>558
> ここではJSPとかServletは分からんので

勝手に決めないでね。
560君てぇしぉ:02/07/25 14:21
Cだと
char buf[128];
int a=*(int*)&buf[16];
なる書き方をするところを、Javaで書くとどうなるのでしょうか。
お願いします。
561532:02/07/25 14:33
>>549
ご丁寧にありがとうございます。
しっかりメモりました。
もっと勉強がんばります。
>560
「文字列bufの17番目の文字へのポインタを、int型のポインタへキャストし、その値を得ている」のですか?
多分JAVAではポインタ使わないで
char buf[] = new char[128];
・・・
buf[i] = 'a';
・・・(値は入れるんですよね?)
・・・
int a = (int)buf[16];

または

String buf = new String("This is a test. 02/07/22 14:56");
int a = (int)(buf.charAt(16));
とかなるのでは。


563名無し:02/07/25 15:18
servlet使ってブラウザから入力した値をFileOutputStream
を使ってtxt形式で吐き出しました。この際、デフォルトで指定されているのか、
tomcatのルート配下のbinディレクトリにtxtファイルが出来上がります。
吐き出す場所を指定するにはどうすればいいのでしょうか?
564君てぇしぉ:02/07/25 15:22
>>562
ありがとうございます。
説明が不十分だったので、改めて説明します。
私が考えているのは、
unsigned char buf[128];
int a=buf[16];
ではなく、

unsigned char buf[128];
int a=*(int*)&buf[16];
に相応する操作を行いたいのです。
別の書き方をすれば
int a=buf[16]+buf[17]*256+buf[18]*256*256+buf[19]*256*256*256;
と同等になります。(厳密には違うが)
Javaでも上記の書き方は可能だと思いますが、できればスマートにやりたいので…

宜しくお願いします。


565でふぉるとん:02/07/25 15:49
Byte[] b;
ByteArrayInputStream ba = new ByteArrayIntpuStream(b);
DataInputStream s = new DataInputStream(ba);
s.skipBytes(16);
int a = s.readInt();

とか。
Intel系ではエンディアンが違うのかな。
NIOのByteBufferなんか使えばもっと「スマート」に書けるかも
566君てぇしぉ:02/07/25 16:04
>>565
ありがとうございます。
なるほど、Javaではこういうやりかたをするんですね。

ただ、「Stream」ですか…
Readすると、ポインタが強制的に先に進んで行っちゃうんですよね。

Byte単位での処理ならいいんですが、Bit単位の処理を行いたいから、
ポインタは自分で管理したいんですよね。
いい方法あれば、それを、なければその旨を教えていただければ
ありがたいのですが。
>>560
それってスマートなん?
バイトオーダが違うと、
正しく実行されないよね?
俺には その場しのぎの
「汚い」コードに見えるんだが。

>>565
DataInputStream は big endianって書いてあるよ。
探せば LittleEndianDataInputStream とか
作ってる人もいるみたいだけど。
>>566
Bit単位の処理だけであれば
ポインタの管理なんか必要ないよ。
int bitbuff;
とかやって bitbuff が空になったら次
読めばよいではないか?
>>566
ByteArrayInputStream だったら、
mark(), reset(), skip()連発するとか。

ファイルから読み込むなら、RandomAccessFile 使うとか。
>>559
ならば歯に衣着せないで、はっきり言おう。

>>556
こ こ は 初 心 者 ス レ だ >>498 に 書 い て あ る 専 門 の ス レ ッ ド で 訊 け
571君てぇしぉ:02/07/25 16:46
>>567
>>568
>>569
ありがとうございます。
私がやろうとしているのは、ハフマンの方法で圧縮されたデータのデコードです。
Bit単位で処理を行うわけですが、次に得べきデータのBit長はデータを
読んでからでないとわかりません。
したがって、16bit読んでは、データの内容と、長さを判別し、
長さ分、ポインタ(Bit単位の)を進めるのです。
メモリに近づくことが可能なCだと、上に示した方法で安直にできるのですが、
Javaでは難しいのでしょうか。
>>571
Pure Java の Zip とか LHA とか作ってる人居るから
調べてみれば? Googleで調べりゃ出てくるでしょう。
jazz とかいう jazzlib とか言う名前だったような…>Zip
>>571
ハフマンのデコードだったら、
最初は 1ビットづつ ハフマンツリーを
たどってくのが基本だよね。
速度遅いけど、練習で作ってみたほうが
>>571 の望むものは早くできるかもね。
574デフォルトの名無しさん:02/07/25 17:36
JTableで、セルを編集した時カーソルを他のセルに移動しないと編集がテーブルモデルに反映されないの
されるようにしたいんだけど
575君てぇしぉ:02/07/25 17:55
>>570
Javaについては初心者です。

>>572
早速調べてみたいと思います。

>>573
1bitずつの処理だと速度かなり遅くなりそうな…
すでにC++で作ったものをJavaに移植したいので、改めてそのあたりの
ロジックを組むのはできれば避けたいです。

---
とりあえず、原始的に、
int a=buf[16]|(buf[17]<<8)|(buf[18]<<16)...;
でやろうと思います。
レスをつけていただいた皆様、貴重なご意見ありがとうございました。
576デフォルトの名無しさん:02/07/25 18:14
キャンディ50個を子ども六人に均等に分けるとき、一人当たりの個数とあまりの
個数を整数の演算子を使って求めること。
↑誰かこの問題解いてください。
set path=%path%;c:\school\j2sdk1.4.0\bin
setclasspath=a:\kadai
じゃ無理でした・・。
セットパス自体通りません〜。
50/6=8・・・2
>>576
まずは setclasspath の set と classpath の間にスペースを入れてみるのは
どうか?
javaで、あるディレクトリの".txt"ファイルを全部取得。みたいな
ことはどうやってするんですか?

"/Directory/*.txt"じゃあできませんでした。
夏か。
夏なのか。
夏のせいなのか。

いくら初心者スレっていってもな〜。
VBと同じレベルと化してるZO!
>>580
答える気が無いならカエレ!
582デフォルトの名無しさん:02/07/25 22:46
>581
も答える気ないなら帰れば?
ネタと思うが、突っこんどく。

>579
java.io.File#listFile()、getName()あたりでないのかな。
583デフォルトの名無しさん:02/07/25 23:27
Javaでガベージコレクションがいま走っているかどうか知る方法
はありますか?あったら教えてください。
>>583
リソースメーター
585デフォルトの名無しさん:02/07/25 23:35
二つの数値配列データあるんだけど
これをグラフにしたいんだけどJavaってグラフはどうすればいいんでしょうか
586ミトコンドリア:02/07/25 23:42
すいません。教えて欲しいのですが、
「2〜3枚の絵をアニメーションとして順番に表示させるようにする」っは出来るのですが、
「一つの画面上で別の複数のアニメーションを表示させる」になると、エラーが出っ放しでわかりません…
JavaScriptでしたいのです。教えてください
>>585
java.awt.graphics.*
588ミトコンドリア:02/07/25 23:47
何か場所違いますね、すいませんweb製作ってとこですね
JAVAでブラウザを作ろうとしているのですが、htmlのソースをウェブページから読み取ることまでできたのですがそれを表示できません。
自分はよくわからずアプレットに表示させたいと思っているのですが、それは可能ですか?また可能ならどのようにすれば良いにでしょう?教えてください。馬鹿な質問かもしれませんがメチャクチャ苦しんでます助けてください
>>589
デコーダ書く。
>>590 なんだよデコーダって
レンダラだろ
つーか適当なコンポーネントにHTML突っ込めばいいだけじゃ
なかったっけ?
592デフォルトの名無しさん:02/07/26 00:02
>589
ソースを読み取るっていうのは、きちんと文字列で取れたのか?回り道かも知れんが、とりあえず世の中にはパーサ、構文解析というものがあると思うぞ。調べてみなされ。将来的には役に立つぞ。
>>589
とりあえずアプレットとアプリケーションの違いは勉強しよう。
で、どの程度のブラウザを作りたいのか要求仕様を決めよう。
HTML3.2レベルでよいならとりあえずJEditorPaneの使い方を覚えよう。
それ以上を望むなら590のいうとおり自前でなんとかしよう。
俺がなにいっているかわかんなかったらgoogleの使い方を覚えよう。
でも俺ならSWT+IEコンポーネントかな。<<Javaの意味ないけど。
594589:02/07/26 00:27
こんな短時間にたくさんの返事マジでうれしいです。
残念ながら現在の知識ではうまく答えられませんが皆さんの上げてもらったキーワードをもとにもう少し勉強してみます。
やる気がでてきました!!
BigDecimalとかBigIntegerでルートの計算がしたいときは
どうすればいいですか?
>>595
テーラー展開
597デフォルトの名無しさん:02/07/26 07:31
質問です。

javax.swing.Timerを使っているのですが、
delay = 1(ms)とかにしてもdelay = 100より速くならず、
どうも最小値が内部的に100になっているような気がするのですが、
正しいでしょうか。
また、100より小さいdelayを使いたいときはどうすればいいのでしょうか。
代替案などでも結構ですので、教えていただければ幸いです。
>>596
マクローリンでも可。
>>597
一部のOSでは100ms以下の制度を保証してなかったな
Windowsだけだっけ?
600デフォルトの名無しさん:02/07/26 09:37
JAVAで、クリッカブルマップのような、画像データ上に
任意の形をしたポリゴンを作成することはできますか?
>>600
Java 3Dって言うか何がしたいんだろう・・・?
クリッカブルマップと Java3Dのポリゴンは関係ないような… とか言ってみるテスト。
画像表示してるコンポーネントに MouseListener 付けて、
java.awt.Polygon 等の java.awt.Shape の実装クラスで
マウスポインタが範囲内かを contains で判定するとか。
そんな感じで… できませんか?
>>603
やってみればいいじゃん。
>>604
いや 600 != 603 なので、やってみればいいじゃん。とか言われても。
606デフォルトの名無しさん:02/07/26 10:28
>>601
>>602
クリッカブルマップですと、ブラウザーに表示した画像データ上に
任意の形をしたポリゴン?が作れて、ボタンができますよね?
でも、そのポリゴン?に色分けで塗りつぶしってできますか?
JAVAならどうなるのかな?と思ったのですが・・・。
>>606
なんかJavaとHTMLを同列に考えてるみたいでアレだが・・・やろうと思えば何でもできる。
>>606
>任意の形をしたポリゴン?が作れて、ボタンができますよね?
ボタン? 出来たっけか?
609デフォルトの名無しさん:02/07/26 10:46
>>607
>>608
ボタンってゆーのは、ポリゴン?そのもののことです・・・
押すとアクションするので、ボタンといってしまいました。

実は、GISアプリケーションをつくりたいのですが、
何十万もするGISソフトはとてもとても手がでないので、
JAVA、VBとかのアプリケーションソフトで
プログラムしたいのですが、なんの言語がおすすめでしょうか?
話が脱線してしまいましたが・・・。
>>609
そのGISソフトがなぜ数十万するか考えてみるのもいいかもね。
>>609
Javaでも出来ることは出来るよ。
個人的には オススメしないけど。
最近の風潮では、そーゆー描画関係は
ブラウザに任せちまえってのもあるしね。
>>610
詳細な地図が矢鱈と高いだけかと・・・
>>612
彼は小学校の周りの町探検地図でも作るのか?
>>613
じゃあ何か?
世界地図表示して各国の
名前と人口と国民総生産でも表示させる気か?
>>613
探検! ぼくのまち!
よって地図を買わないと結局ソフト作っても無意味。
でよろしいか?
>>616
いや、元の質問社の口ぶりだと
既に地図を持ってるだろ?
618デフォルトの名無しさん:02/07/26 11:24
>>610

>>617
いろいろな意見ありがとうございます。
地図はあります。市町村の管内図とか地籍図とかあるので、
それをスキャンすれば画像データは買わなくてもいい状態です。
仕掛けとしては、人ごとに分筆されている土地部分をマウスで
クリックすると、別ウィンドウに面積とか所有者とかのデータを
だそうとしています。

JAVAですと、具体的にどのような記述(命令)がつかえますか?
>>618
まず、常識レベルに言語のこと覚えなされ。
>世界一のJava(TM)ユーザーを抱える NTT DoCoMo よりJavaOne(SM)への期待コメント

SDCからこんなメールが来たんですが、
NTT Docomo社員の誰が世界一のユーザーですか?
また、どうやって世界一をきめたんでしょう?
>>620
前やってたじゃん。天下一武闘会。
いやぁ、Swingピッコロ大魔王が出てくるとは思わなかったよ・・・。
622デフォルトの名無しさん:02/07/26 13:23
>> 599
ありがとうございます。

では、100msecより短い時間でなにかを動かしたいときは、
いったいどうすればいいでしょうか。
623デフォルトの名無しさん:02/07/26 13:32
>>621ってどこが面白いの?誰か教えて
624620:02/07/26 14:51
>>621
俺は"623"じゃないからな
俺は"601"じゃないからな
>>622
for(int i=0;i<10;i++);
みたいなwaitを掛けてみるば?
>>626
でもそれ・・・アレだな。
>>627
そうだけど
他に思い付かない・・・・yo・・・・
629デフォルトの名無しさん:02/07/26 15:20
Java Appletについて教えてください。

Appletでテキストファイルの読み込みを行いたいのですが
JBuilder6上ではエラーなく処理が通るのに
ローカルでブラウザからAppletを実行したり
サーバー上で実行したりするとエラーがでていまいます。
以下、エラーと思われる構文です。
-------ここから----------
ofm = new OwnerFrame(new BufferedReader(new InputStreamReader(new File("test.txt").toURL().openStream())));
-------ここまで----------

以下は、Javaコンソールで表示されるエラーメッセージです。
-------ここから----------
java.lang.NoSuchMethodError: java/io/File: method toURL()Ljava/net/URL; not found
 at quizGame.init
 at com/ms/applet/AppletPanel.securedCall0
 at com/ms/applet/AppletPanel.securedCall
 at com/ms/applet/AppletPanel.processSentEvent
 at com/ms/applet/AppletPanel.processSentEvent
 at com/ms/applet/AppletPanel.run
 at java/lang/Thread.run
-------ここまで----------

FileクラスにtoURLメソッドがないというエラーだと思うのですが、仕様を見てみるとtoURLメソッドは
存在しているので、理由がまったくわかりません。

どなたか宜しくお願いします。
630デフォルトの名無しさん:02/07/26 15:24
アプレットの文字列をクリックするとハイパーリンクして別のURLに飛ぶというようなことを
するにはどうしたらよいのでしょうか?
>>629-630
java.net.URLクラスのAPIドキュメントをゴ一読方願います
632デフォルトの名無しさん:02/07/26 16:14
getAppletContext().showDocument(url);
ってやったらできた。
633デフォルトの名無しさん:02/07/26 16:15
634629:02/07/26 18:04
>631さん
申し訳ないですが、一通り読んでみてもわかりません。
理解力なくてすいませんがもう少し、教えていただけないでしょうか?

宜しくお願いします。
>>634
>new File("test.txt").toURL()
この式合ってるの?
合ってないの。
>>629
なんとなく、ブラウザのJavaサポートが1.1なのではと言ってみるテスト。
com/ms/applet という部分から動いてるのはMicrosoftVMっぽい。
ttp://support.microsoft.com/default.aspx?scid=kb;en-us;Q214828
を見たところIE5.5でJDK1.1.4までしかサポートしていないから、
素のままじゃ1.2で導入されたtoURLメソッドは無くて当然かな。

プラグイン入れてみそ。
JDBCでinsertRow()を使うときに、SELECTで最低1行は拾っておかないと
いけないのですか?カーソルの位置が不正です。みたいなエラーが出るのですが・・。
639デフォルトの名無しさん:02/07/27 00:00
ServletとJSPでシステムを作っているのでが、コントローラの
単体テストってどうやるんですか?コントローラだけでテストなんて
しないですよね?誰か詳しい人教えてください。
640でふぉるとん:02/07/27 02:03
>>638
moveToInsertRowはやってるのかね?
APIドキュメントは読んだかね?
641デフォルトの名無しさん:02/07/27 07:29
>>639
コントローラの何の動作をテストしたいの?
642638:02/07/27 10:10
>>640
moveToInsertRowはもちろんやっています。
APIもじーっくり読みました。サイトも見て回ったんですが・・。

文法的には間違っていないはずです。

ドライバが対応していない場合があったりしますか?
そんな風なことを見かけたんですが、確信が持てないです・・。

643デフォルトの名無しさん:02/07/27 10:48
>>641
A ボタンがちゃんと押されているかどうか
644デフォルトの名無しさん:02/07/27 13:30
Javaのソース読んでて、わからないメソッドやクラスにでくわしたとき
みなさんどのようにして調べているのですか?
>>644
JAVADOCがある時:読む。
JAVADOCがあってもなくても:テストクラスを作ってみた。
646javacc:02/07/27 13:42
別スレでも書いたのですが、レスつかなかったので、もう一回…
JAVACCって、どれくらいの知名度があるんですか?
これなんですけど。
http://www.webgain.com/products/java_cc/
JAVACCの将来性とか知ってる人が居ましたら、教えてほしいです。
皆様、Javaでパーサ作ったりとかあんまりしないんですかねぇ…
>>646
一応Javaでは一番メジャーっぽいし
他に画期的なのが出ない限り生き残るんでは?

ところでせっかくJavaなのに日本語テキストの扱いが面倒なのは何とかならないか、、、
カスタムリーダー書くの面堂、

>皆様、Javaでパーサ作ったりとかあんまりしないんですかねぇ…

それこそ新規で言語処理系でも作る気がなければ
確かにそんなにつかわないよな。
Cプログラマの中でもYACCとか使ったことの在る奴は何パーセントくらいなんだろ。

普通のアプリのニーズならXMLやプロパティファイルで十分だし。
648javacc:02/07/27 14:14
>>647
先日、「Javaccを管理しているWebGainが消息不明」という記事を見ました。
Javaに絡んだ言語変換パーサを作ってるので、yaccよりJavaccをチョイス
したのですが、どうもJavacc自体が先行き不透明な感じがするのです。
おかげで、ほんの少しだけ安心しました。

日本語のドキュメントもほとんど無いですよね。
>>647
>日本語テキストの扱いが面倒
ってのは?
650デフォルトの名無しさん:02/07/27 14:42
JAVAを勉強しようと思うのですが、
一から始めるJAVAって感じのサイトありませんか?
>>650
ここでスレ立てればいいんじゃないでつか?
>>651
立てるまでもあるまい
653Rina ◆tI333vNE :02/07/27 15:41
654デフォルトの名無しさん:02/07/27 15:52
>>653
ありがとうございました。早速勉強。
655デフォルトの名無しさん:02/07/27 21:23
>>641
テストは画面遷移以外のテストをしたいのです。一通りの処理というか。
っていうか、MVCモデルでのControllerって単体テストするもんですか?
下位クラスが無きゃ実際の処理なんてテストできないですよね?
そこらへん詳しく載ってるサイト教えて。
>>655
最低でもVCでじゃないの?
657Rina ◆tI333vNE :02/07/27 22:29
>>655
VCで。Mは無くてもいいし、必要だと思えば
使い捨ての利くコンソール版作ってからやる。
MVCって三層C/Sを一つのサーバでやってるって感じですか?

659デフォルトの名無しさん:02/07/27 23:11
>>658
そだね。
アプリケーションでMVCというと、一つのプロセスの上で
それやってる感じ。通知は単なるメソッドコールになる。
>>659
勉強になりました。
661デフォルトの名無しさん:02/07/27 23:48
VCでテストやるか?
CM(またはMスタブ)で、JUnitでVの代理ロジック記述じゃないのけ?
>>661
Vドライバもいるんじゃない?
663デフォルトの名無しさん:02/07/27 23:52
>>662
どうせMのオブザーバだけでしょ?ユニットテスト側で準備すりゃいいじゃん。
static メソッドの中で、そのメソッドが所属するクラス名やパッケージ名って
取得できますか?
>>664
ハァ?
staticメソッドを実装している位置って、そのクラスじゃないのか?
なんで実行時に取る必要があるのよ?Classオブジェクトが欲しいなら
<クラス名>.classでええよ。
666Rina ◆tI333vNE :02/07/28 00:53
Hoge.class.getName()
Hoge.class.getPackage()
>>665-666
サンキュー、それそれ。
ちなみに名前が変わるかも知れないパッケージのクラスの中から
バンドルされてるリソースを、パッケージ名変更の影響なくアク
セスしたかったのよん♥ 文字列でも持たせると、後で grep
出来ない形でコード書く奴がいるかも知れないので。
668デフォルトの名無しさん:02/07/28 02:41
argsって何でしたっけ?
ちょっとど忘れして…
669デフォルトの名無しさん:02/07/28 03:15
age
そういえば GZIP はあるのに tar 機能がねーな、と思ってみたり。

>>668
public static void main(String[] args) のことか?
ARGument String だと思うが。
ARGumentSだったりして
672デフォルトの名無しさん:02/07/28 04:35
コンパイルなどでの
エラーの探し方のコツとかってある?

どう考えても、どこが間違ってるのか分からん時とか、平気で1日無駄にするし
なぜエラーが起こったかを記憶しておく。
そうすれば費やした時間は無駄にならない。
がんばれや、学生さん。
>>670
tarは誰にでも すぐに書けるからでは…
(仕様しってれば)
675デフォルトの名無しさん:02/07/28 10:06
Forte for Java, CE3 を使って勉強してます。
外部クラスからJTextAreaにデータを表示させたいんですが、

class SleepingA implements Runnable {
private Application appli ;
public void run() {
appli.addTextArea("SleepingA Start") ;
}
}

で本体側
public class Application extends javax.swing.JFrame


public void addTextArea( String str ) {
jTextArea1.setText( str ) ;
}

を加えて、コンパイルは出来るんですが
実行時にエラーが出てしまいます。
何がおかしいんでしょうか?

エラー:
java.lang.NullPointerException
at ThreadTest.SleepingA.run(Application.java:189)
at java.lang.Thread.run(Thread.java:484)
>>675
ねぇ、appliにインスタンス代入してる?
677675:02/07/28 10:18
というと、本体側の
SleepingA runA = new SleepingA();
Thread threA = new Thread(runA);
threB.start();
ですか?
>>677
どこかで

appli = new Application();

もしくは他で作ったインスタンスを代入したのか?と。
679デフォルトの名無しさん:02/07/28 10:31
インスタンスの代入というのがよくわからないんですが・・・
>>674
tar の仕様きぼーんぬ。
>>680
検索すれば直ぐ見つかるよー
>>679
SleepingAクラスのコンストラクタとかでappliを初期化しているか?
appliは「Applicationへの参照」であるから実体(インスタンス)は無い。
自分で実体を作成して代入してやる必要がある。
実体を作成するのが new だ。

と、>>678 は言っている。
>>682
助かりました。あれ以上の説明が思いつかんかった。
勉強やり直してきます。
684デフォルトの名無しさん:02/07/28 18:02
お二方、回答どうもありがとうございます。
private Application appli = new Application() ;
でエラーはなくなりましたが、String値の受け渡しが出来ません(TT)

本体=Application() から class SleepingA のスレッドを作成しているので、
SleepingA で
appli = new Application() ;
とすると元の本体とは別に、新たなApplication() を作ってしまっているから
元のApplication()にString値が受け渡されないと、考えてよろしいの
でしょうか?とすると、SleepingAの方から元のApplicationのスレッドを作るようにして、
そいつにString値を渡す、というやり方で良いんでしょうか?
A. コンストラクタに引数を設けてApplicationのインスタンスを渡す。
B. SleepingAをインターフェースにしてApplicationにimplementsする。
という手が考えられる。
Aがお手軽。
あと、スレッドを使うときは競合に気をつけること。
って、setTextはスレッドセーフダタ...

>>670
tarって必要か?
昔のzipが複数ファイルまとめられないからtarが存在していた
と理解してたんだが・・・
>>687
商用 Unix だと本番機に compress & tar しか入っていないことも多々ある
のよん。
689デフォルトの名無しさん:02/07/28 20:25
httpServletResponceなどのServlet.HttpのAPIて無いのですか?

Sunのページにはなかったのですが…
http://java.sun.com/j2se/1.4/ja/docs/ja/api
質問です。
import ABC;(ABCは、自分で定義したクラス)
と書いてコンパイルしようとすると、
「"."がありません
 import ABC;  」
^
というエラーメッセージが表示されるのですが、原因が
分かりません。どなたかご存知でしたら、アドバイスをお願いします
>>688
あいや、正確には
Javaのプログラムから、tarって必要か?
なんだが。
693デフォルトの名無しさん:02/07/28 20:42
>>692
sankusu
あと日本語ページとか無いのでしょうか?
>>690
import はパッケージの利用の宣言であり、クラスの利用宣言ではない
からではないか?
ABCの入っているソースの天辺にpackage ABC;と書いてコンパイルし、
クラスパス以下にABCフォルダ作って、そこにclassファイル置いてみてくれ。

ただ、エラーの内容がイマイチ?なのだが。
それはちゃんとコピペしたものなのか?
695名無しさん@xyzzy:02/07/28 20:44
>>690
import ABC.*;
>>691
tar しか入っていない環境ならふつー .tar.Z や .tgz だな。
アーカイブはバッチ処理に渡したりもらったりするケースも
結構あるから。

とはいえ JDK が入っているなら jar で ZIP は解凍できるから、
他の鯖にデータまとめて持ってくようなバッチでもなければ ZIP
で良のか。
>>694
>>695
ありがとうございます。
パッケージ化する方法を試してみました。
(フォルダ名をABC、クラス名をMyClass.class)
確かに、import ABC.MyClass;
とするとコンパイル通りました。
ありがとうございます
>>687
>昔のzipが複数ファイルまとめられないからtarが存在していた
>と理解してたんだが・・・
ソレ、たぶん間違いっす。
>ソレ、たぶん間違いっす。

ソレ、たぶん間違いっす。
元々 tar は複数ファイルをテープ上にアーカイブしたり元に戻したりする
ためのもの。アーカイブをディスク上に作成することも出来たので、compress
や gzip と組み合わせて使われるようになった (古い Unix の思想「1 コマン
ドは 1 機能に従事する」に従い「アーカイブ」と「圧縮」は別コマンドになっ
ていた)。

よく知らんが ZIP アーカイブはこれより後に PC 向けに作られたもの
だったと思う。俺が始めて見かけたのは 6〜7年前くらいだったかな。
NIFTY-Serv に入った頃に知った。
Javaの変数名前付け基準って、みなさんはどうしてますでしょうか?
>>702
see also >>1-701
>>702
日本人は日本語。常識、これ
705名無しさん:02/07/29 07:06
>>702
CamelCase
アプレットやフレームにdrawImageで画像を貼り付ける場合、どうしても背景色の「矩形」が出てしまいます。
ネット上のサンプルとかでは、ピクセル単位で条件分岐させて特定の色を透明色に変換しているのですが、もっと
スマートなやり方がないでしょうか。
707if_tomorrow_comes:02/07/29 15:29
あの、javaを勉強だした初心者なんですけど。

booleanって、VBだったら、flag=not flag でtrue<->falseを変更できますよね。
javaでこういったことをやるには、どうすればいいのでしょうか。
って、こんな質問して良いんでしょうか。
708ロンギヌス:02/07/29 15:37
>>702
別にJAVAだからってのはなく普通につけてたが。
敢えて言うならpublicであれば大文字とか?

>>706
JAVAは透過GIFも扱える。元の絵が悪いのだろう。
ピクセルで処理をするのはもっと他のバヤイだ。
709ロンギヌス:02/07/29 15:51
>>707
public boolean Reverse(boolean bool) {
if ( bool == true ) { return false; }; return true;
}
こんなんで我慢するしかないのでは。
710名前:02/07/29 16:07
JFileChooserみたいに、日付を選択するコンポーネントってありません?
711ロンギヌス:02/07/29 16:11
>>710
JLISTでも使って作るべし。
712if_tomorrow_comes:02/07/29 16:14
ロンギヌスさん、ありがとうございます。
えっと、自分で関数(javaではclass?ってことになるの?)を作るしかないということですか?
~で反転出来るかな、って思ったらやっぱり出来なかったし。

バイト型で、0か-1かをとった方が簡単かなぁ。
boolean flag = true;
flag = !flag;

ネタスレでしたか。
714ロンギヌス:02/07/29 16:38
>>712
>>709 はクラスである必要はありません。
使いたいクラスに関数として存在していればいいです。
(自分はこんな関数集めてクラスとして利用していましたが)

javaではbooleanは独立したオブジェクトです。
(booleanに限らず)
VBみたいにバリアント型ではないので慣れないと使いまわすの
面倒かも知れません。

で、前もってbooleanとして宣言しておく必要があります。

面倒ならbyteでもいいですけど、この機会に色々と慣れておいた方が
いいかも知れません。
715if_tomorrow_comes:02/07/29 16:39
>>713
ああっ、そんな書き方があったんですね。
~よりそっちを思いつくべきだった・・・
は、恥ずかしすぎる。
ま、まあ、聞くは一時の恥って言うよね・・・ねぇ。
boolean ってオブジェクトだったのか… シラナカターヨ
>>706
ImageFilterを使いたくないってこと?
>>714
ネタならもうちょっと練ってから書き込め。面白くない。
マジなら一回 (略
720デフォルトの名無しさん:02/07/30 00:33
jaxpはxmlshemaによる妥当性検証ってサポートしてますか?
721デフォルトの名無しさん:02/07/30 01:13
apacheとtomcatの連携をさせようと思いとりあえず導入したんですが
ユーザディレクトリにJavaを実行させたい場合はどうするのか教えてください。
具体的には ~/以下はどこでもjspが扱える。任意のディレクトリに(例えば~/webapp/)に
WEB-INFを置いてservletを配置する。と言った具合です。
tomcat4.0.1を使用しててapacheにmod_webappモジュールを組み込んでいます。
722デフォルトの名無しさん:02/07/30 01:17
グラフ書いてるんだけど縦軸と横軸に数値を入れたいんだよね
たとえばY=X+1とか式あったらy軸との交点は1って表示させたい
あとほかにもある程度軸に数値いれたいんですができるでしょうか?
723デフォルトの名無しさん:02/07/30 01:37
722>
できます
724デフォルトの名無しさん:02/07/30 02:18
>>723
どうかやり方教えてもらえませんでしょうか?
よろしくお願いします
725デフォルトの名無しさん:02/07/30 02:20
JTableをScrollPaneにadd()して、スクロール可能にすることができますよね。
スクロールをしていって、「一番端まで来た!」ということを知る方法は
ないでしょうか? 何かイベントが発生するとか・・?

要は、端っこまで来たらテーブルの行を追加したいだけなんですけど・・。
ご存じの方がいたら教えてください。
726Rina ◆tI333vNE :02/07/30 03:05
>>720
XML SchemaのはJAXPじゃできないんじゃないかな、今のところ(適当).
そもそもXML Schema自体がキチンとした仕様がまだきまってなかった
ように思うんだけど….
うちの会社はRelaxerっての使ってる. XML Schemaと違って
実装が結構進んでるんし, 何より開発者が日本人だからドキュメント多いよ.
興味湧いたらぐぐってみて. XML Schemaは知らん. あんなの
誰も使わないと思うんだが…仕様が複雑すぎてRinaたんには無理(´-`)ノ
727Rina ◆tI333vNE :02/07/30 03:08
>>722
でもそういう場合ってさぁ, 自分で書いちゃえばいいのでは?

>>723
それって専用のライブラリでも出てるの? 出てるんなら私にもおせーて.
728デフォルトの名無しさん:02/07/30 03:12
今日、Javaのプログラムを始めた初心者なんですが、MS-DOSプロンプト上で下記のメッセージが表示され、プログラムが実行できません。なにが原因かサッパリ…助けていただけないでしょうか…。
Exception in thread "main" java.lang.NoClassDefFoundError: Sample1
729Rina ◆tI333vNE :02/07/30 03:18
>>725
JScrollPane#getHorizontalScrollBar(), もしくは
JScrollPane#getVerticalScrollBar()でJScrollBarを得る.
で, それにAdjustmentListenerを追加すると,スクロールバーが
動いた時にAdjustmentListener#adjustmentChangedが
コールされるから, それ使うとうまくいく…と思う. 他に方法は知らない.
730Rina ◆tI333vNE :02/07/30 03:22
>>728
それはSample1ってクラスがないよーって言われてるんじゃないかな?
CLASSPATHが通ってないとかだと思う.
731Rina ◆tI333vNE :02/07/30 03:41
>>721
http://www.itboost.co.jp/jserv/jserv_05.php
分からんかったから自分で調べた人>自分.
732デフォルトの名無しさん:02/07/30 03:47
>>730
回答ありがとう。でも全然解決できそうも無い。テキストどおりやってるんだけどなー。何とか試行錯誤してみます。
>>722
横向き文字列だけなら Graphics.drawString() を使って描けば良い。

角度の付いた文字列を使いたいなら
\demo\jfc\Java2D\src\java2d\demos\Fonts\Tree.java なんかを参考に
AffineTransform と TextLayout を使って文字を描く(と思われる)。
デモを見ておくのも重要。出来る事の一通りとそのやり方はそれで分かる。
少なくとも画面描画するアプリを作るなら、事前に java2Demo.jar は触って
みるべき。


ただ、少なくとも後者は初心者向きではないと思われる。
アフィン変換って何?という人間だと、ググってすこし勉強したほうが良いかも。
たぶん概略だけで良いと思う。
概略も知らないと AffineTransform の説明文で挫折するかも知れないから。
734Rina ◆tI333vNE :02/07/30 03:59
その課題に使うファイルがいくつあるのか分からんのだが,
どういうファイル構成になってるの?
・ファイル数
  一つのファイル or 複数のファイル
・必要なファイルの場所
  カレントディレクトリだけ
or カレント以外のディレクトリ
or 複数のディレクトリに

…教えてもらえればキチンと答えれると思うよ.
735Rina ◆tI333vNE :02/07/30 04:01
>>733
それならできる.
てっきり数式放りこんだらグラフが書かれたCanvasクラスを返して
くれたりするライブラリがあるのかと思ったよw
736732:02/07/30 04:21
>>734
やっぱり自分じゃムリでした。ファイルはひとつ。必要なファイルもカレントディレクトリだけ。パスの通し方もテキストの通りにやってみた。なのにナゼ…。先は険しいなあ。
737デフォルトの名無しさん:02/07/30 04:25
( ´Д`)ハァハァRinaタン・・・・
set CLASSPATH=%CLASSPATH%;.
739Rina ◆tI333vNE :02/07/30 04:55
ブス専ですか?w

ほうほう, DOSだと環境変数は%%で括るのか. 覚えておこう.
740デフォルトの名無しさん:02/07/30 09:38
配列をつくって、そこに乱数を入れました。

double [] array = new double[s];//sは最初に与える
for(int j=0;j<s;j++){
array[j]=Math.random();
}

ここで、この次に、このs個の配列に入っている値の和を求めたいです。

array[0]+array[1]+...+array[s-1]+array[s]はどうやって計算すれば
いいんでしょうか、足し算するのは知っているのですが、プログラムは
どうやって書けばいいのでしょうか?教えてください。お願いします。
>>740
乱数代入しつつ足していけばいいじゃん
742デフォルトの名無しさん:02/07/30 10:03
>>741

740です。ありがとうございます。
乱数を代入しつつ足していくとはどうかけばいいんでしょうか。
プログラミング厨房なので、もしよろしければ教えてください。

自分は、\sum_{j=0}^s array[j]を考えていました。
エクセルとかについているsumみたいな、和を求める関数というのを
書きたいのですが、考え方が根本的におかしいでしょうか?
double sum = 0.0;
for(int i=0; i<array.length; i++){
  sum += array[i];
}
744デフォルトの名無しさん:02/07/30 10:25
>>743
ものすごく助かりました。+=という書き方、はい!ありました!!
やっぱり本でよんだだけの知識はダメですね。大感謝です。
すこし生きた知識がふえました。
745デフォルトの名無しさん:02/07/30 10:39
>>688
> 商用 Unix

商用 Unix ?
>>698
ちがうぞ おい

>>701
圧縮するとバックアップファイルが壊れたときに全部取り出せなくなるので、アーカイブのみで圧縮はしない
という話もあったな。

>>708
大文字って定数の場合ですよね?

>>732
もっと自分の状況とかいろいろ説明すれば、率直な回答もできるが、ほとんど情報がないので、だれでも
適切な回答をしていないと思うよ。

747デフォルトの名無しさん:02/07/30 11:04
2次元配列の場合、配列の長さというのは、どっちの長さでしょうか?
行でしょうか?列でしょうか?
array[][]のarray.lengthはどっちの長さを指定しているのでしょうか?
行の長さ、列の長さを指定したい場合、それぞれどう書けばいいでしょうか?
double[] array = new double[2][3];
System.out.println(array.length);
System.out.println(array[0].length);
>>747
System.out.println(array.length);
一発解決
750名無しさん:02/07/30 11:11
>>747
2次元配列というものは存在しない。あるのは配列内の配列。
751デフォルトの名無しさん:02/07/30 11:15
class arraylength {
public static void main(String args[])
{
    double[][] array = new double[2][3];
 System.out.println(array.length);
 System.out.println(array[0].length);
}
}
をやってみますた。array.lengthだと前のほうに入っている
値がでるのですね。つまりここでは2ですね。
array[0].lengthで後ろの3ですね。なるほど!
ありがとうございました。
752デフォルトの名無しさん:02/07/30 11:18
>>750
ふむ、なるほど、だからarray[0].lengthという書き方になるのですね(想像)
理解が深まりすた。皆様いろいろありがとうございます。
>>752
そういうこと。array[0] と array[1] では配列の長さ違うかも知れない。

double[][] array = new double[2][];
array[0] = new double[5];
array[1] = new double[10];
System.out.println(array[0].length);
System.out.println(array[1].length);
754デフォルトの名無しさん:02/07/30 11:42
class arraylength2 {
public static void main(String args[])
{
double[][] array = new double[2][];
array[0] = new double[5];
array[1] = new double[10];
System.out.println(array[0].length);
System.out.println(array[1].length);
}
}
をやってみますた。5と10がでました。
かなり混乱してきますた。これはarray[0]とarray[1]の長さでしか?
つまり、array[2][]で配列が2本用意されて、そのarray1本ずつに対して、
さらにarrayが一本ずつ、array[0]には5個はいる配列と、だから配列の配列。

つまり配列は行列ではないのですね!!すごい発見をした気分。
平面ではなくて立体ですね!!ビルが2本、5階建てのビル、10階建てのビル
ですね!!
755デフォルトの名無しさん:02/07/30 11:56
>>722
どうもありがとうございました。
参考にしていろいろやってみます。

Rinaさんもありがとございました。
756if_tomorrow_comes:02/07/30 11:58
えっと、またバカみたいな質問ですけど・・・

javaで、CのatoiやVBのvalに相当する命令を出すには、
どのように書けば良いのでしょうか。
String num = "100";
int i = Integer.parseInt(num);
>>756みたいな人は
まず
>>2-6あたりのリンクを
読む
759if_tomorrow_comes:02/07/30 12:26
757さん
出来ました。お手数かけてすいませんでした。

758さん
そうですね。
この調子で質問してたら、キリが無いですよね。
一応、javaのページは軽く目を通したんですけど、もっと詳しく勉強してから
それでも分からない時に質問したいと思います。
760デフォルトの名無しさん:02/07/30 12:43
JavaのGUIプログラムからFortranの計算プログラムを実行させるにはどのようにすれば良いのですか?
761Rina ◆tI333vNE :02/07/30 12:57
これじゃ駄目かな?
http://userweb.elec.gla.ac.uk/i/iainw/jni/
762Rina ◆tI333vNE :02/07/30 13:00
Rinaたん萌え〜
764725:02/07/30 14:40
>>729
アドバイスありがとうございます。

すいません、よかったらもう一つ教えてください。
JTableで行を選択するとき、デフォルトの設定だと、
 1)複数行を選択してマウスから指を離す。
 2)選択された複数行のうちの1行をマウスでクリックする。
という操作をすると他の行の選択が解除されてしまいますよね。

単に、複数行をドラッグ&ドロップするアプリを作りたいだけなんですが・・。
複数行を選択してそのままドラッグ、だとうまくいきますが、ちょっと
使いにくいので、一度複数行を選択してマウスを離してから再びドラッグする、
ということはできないものかと考えています。

マウスイベントを拾ってシコシコやるしかないでしょうかねえ。
もし簡単なやり方をご存知でしたらアドバイスお願いします。
ファイルを読むとき

BufferedReader reader = new BufferedReader(new FileReader("Filename"));
String line = reader.readLine();

で読むのはわかったのですが、

BufferedWriter writer = new BufferedWriter(new FileWriter("Filename"));

で書く場合にはどうすればよいのでしょう?

PrintWriter writer = new PrintWriter(new BufferedWriter(new FileWriter("Filename")));

書くときはこうするべきなんですか?
>>765
すべきということはない。PrintWriter を使うと少々のオーバーヘッドがかかるし、
出力エラーが発生した場合ちゃんと通知してほしい、行末シーケンス (LF/CRLF) に
システムデフォルトのコードを使ってほしくない場合などは使わないだろう。要は
楽なコードを書きたいかどうかなんだが。
767デフォルトの名無しさん:02/07/30 18:53
>764
自前の ListSelectionModel を作る
768765:02/07/30 19:07
>>766
その場合は、どうやって書き込むのでしょうか?

PrintWriter の場合は、 writer.println(writer); で書きますけど、BufferedWriterの場合の書き方がわかりません。

PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("hoge.txt")));
out.println("hello, world");
out.close();

上記は↓のコードとほぼ等価:

Writer out = new BufferedWriter(new FileWriter("hoge.txt"));
try{
  out.write("hello, world");
  out.write(System.getProperty("line.separator"));
} catch(IOException ex){/* */}
out.close();

ってか、PrintWriter クラスのソースを読め。
770765:02/07/30 20:20
hoge.write を使うんですね。ありがとうございます。

> ってか、PrintWriter クラスのソースを読め。

BufferedWriter のほう一生懸命読んでいました。
>>769
あっ BufferedWriter 型じゃなくて Writer 型なんですね。
> } catch(IOException ex){/* */}

これは良くないなぁ・・・
>>772
ex.printStackTrace() ぐらい呼べという意味?
それとも、IOException 以外の例外をトラップできないから Exception で
受けるべきという意味?
はっきりと書かないと意味が通じないよ。
774デフォルトの名無しさん:02/07/30 20:59
Fortranの入力が見にくいので、JavaでGUI形式の入力を作成しようと思っています。
その際にFortranとJavaを連動させるにはどしたら良いのですか??
Visual Fortran を使っています。
>>772
PrintWriter は内部で IOException 発生しても何も言わないでしょ。
その意味も込めて {/* */} にしたんだってば。
と言ってみたが初心者に行間読めっていうのも酷な話だな。
777Rina ◆tI333vNE :02/07/30 21:05
printStackTrace()を呼ばないんなら,

try {
hogehoge();
} catch (FooException e) {
// do nothing.
}

…とかの方がよくない?
もしくは,

try {
hogehoge();
} catch (FooException e) {
throw new InternalError(e.toString());
}
何か話が脱線気味ですが、当初の話は PrintWriter と普通の Writer の動作特性の
違いです。catch した例外の取り扱いこうあるべきってのはまた別の話なのでよろしこ。
779Rina ◆tI333vNE :02/07/30 21:12
>>764
亀レスすまそ.
えっと結論から言うと,JTableあんまし使ったことないから分からんw
力になれなくて申し訳ない….
APIドキュメント見てみても使えそうなメソッドとかがなかったら, 自前で
イベント拾ってやるしかないんじゃないかなぁ….

>>763
どこら辺に萌え? 教えて,今後の参考にするからw
>>776っていうよね 初心者が初心者を隠すときって
>>773
>>775
なんか、必死だね。

772がなにを言いたいかわからないが、私はコメントの使い方は良いとは思わない。
>>781
たしかに。
初心者と言われて顔を真っ赤にしている人がいらっしゃいます。
>>781
頭悪そうだなおまえ。
785765:02/07/30 21:42
荒れているところすいませんが

>>769
Writer out = new BufferedWriter(new FileWriter("hoge.txt"));
が try からはずれておりますけど、なぜ、tryの中にいれて例外を受け取らないのでしょうか?
それはプログラムの作り方によって変えればいいってだけですか?

ファイルが作れないこともあると思うので、中に入れたほうがいいんですよね?
入れないほうがいい理由があったら知りたいです。
>>784
逆ギレしてないで黙ってなさい。
787名前:02/07/30 21:45
フレームを画面中心にするにはどうすればよい?
もしくは、画面サイズを取得する方法を教えて頂戴
>>785
入れたほうが良いって言うか、ちゃんと書くなら普通こんな感じ:

Writer out = null;
try{
  out = new BufferedWriter(new FileWriter("hoge.txt"));
  // …
} catch(IOException ex){
  // エラー処理
} finally {
  try{ if(out != null) out.close(); }catch(IOException ex){/* */}
}

メソッドが IOException をスローすると宣言されていても、最後の finally で
close する必要があるのでどの道 try-catch は必要。
>>787 それ、過去スレで答えたなぁ。
ttp://java.sun.com/j2se/1.4/ja/docs/ja/api/java/awt/Window.html#setLocationRelativeTo(java.awt.Component)
>>871
コメントの使い方が気に食わなかったのか?
C/C++ から来た人なら DO NOTHING の意味で使ってる人結構いると思うけど。
791765:02/07/30 21:52
>>788
ありがとうございます。
宣言は try の外がいいんですね。勉強になります。

>>791
そう、ファイルクローズの保証のために finally の中で close() を
呼び出したいから、try ブロックの外で宣言しておかないとまずい。
793名前:02/07/30 21:56
>>789
ありがとSUN

public class Hoge {/* */}
795sage:02/07/30 22:25
どーも
>>779
2ch語使わないともっと萌えます。
765って普通?よく見るコードではあるけど、頭悪そうで嫌い。
try {
 BufferedWriter out = new BufferedWriter(new FileWriter("hoge.txt"));
 try {
  out.write("hoge");
 } finally {
  out.close();
 }
} catch (IOException e) {
 //エラー処理
 e.printStackTrace();
}
ぐらいしないの?
ちゃんと考えないとネストが深くなりすぎるが。
↑間違えた。788ね。
>>797
好き好き。ってか無駄に try 重ねると白痴に見える。
800デフォルトの名無しさん:02/07/30 22:45
全く無駄ではないが?788にしたって結局2回tryしてるしな。
アタマが悪い人は放置しなさい。
802765:02/07/30 22:50
>>792
再びありがとうございます。
803765:02/07/30 22:52
>>799
うん、その点だけ>>788は気になりますね。
>>801
誰がアタマが悪い人なの? あなたの中で・・・ なんかあなたの考え間違っていそう。
805732:02/07/30 22:53
すいません、質問の仕方が悪かったんですね。 
昨日、Javaを初心者用テキストで勉強し始めて、JDKをC:\jdk1.3のフォルダにインストール。
パスを通すということでC:のAutoexec.batにPATH C:\jdk1.3\bin;%PATH%と入力。
MS−DOSプロンプトで2数の和を求めるプログラムSample1を入力。
コンパイルして、.CLASSファイルが作られたことを確認。
しかしJavaコマンドを実行すると、
Exception in thread "main" java.lang.NoClassDefFoundError: Sample1
とエラーがでるのです。何度テキストを見ても間違った操作をしているようには思えないのですが…。
どなたか対応策を教えていただけないでしょうか。
>>804
必死だな(藁
>>797
out.write() で例外が発生して、その影響で out.close() からも例外が
発生した場合、障害の大本の原因であろう out.write() 側の例外情報が
報告されないな、そのコードだと。JDBC の Connection 関係で同じよう
なコード書いてくれるなよ。
809765:02/07/30 23:02
>>805
> パスを通すということでC:のAutoexec.batにPATH C:\jdk1.3\bin;%PATH%と入力。

OSはなにつかってます? OSによってパスを通す方法が異なりますよ。

> Exception in thread "main" java.lang.NoClassDefFoundError: Sample1

実行するときは、クラスのあるディレクトリで

java Sample1

ですよね?




>805は
java Sample1.class
とでもしてるのか
大文字小文字を区別してないかだろうな・・・
>>806
答えられないのなら いちいち >>801 のようなこと書くなよ。
あっごめん >>801 = >>806 のような馬鹿は放置でしたね。
812797:02/07/30 23:04
俺には
} catch(IOException e) {
 //エラー処理
 e.printStackTrace();
} finally {
 if (out != null) {
  try {
   out.close();
  } catch(IOException e) {
   //またエラー処理
   e.printStackTrace();
  }
 }
}
の方がよっぽど白痴に思えるがな。
807の問題は確かにある。あともうひとつ穴があるんだがこれはまだ指摘されてないな。

801は807を以って797を頭悪いと評しているのか?俺も興味あるな。
>>810
> java Sample1.class
> とでもしてるのか

その場合は

Exception in thread "main" java.lang.NoClassDefFoundError: Sample1/class

になりますね。
粘着野郎のコードが無駄に邪魔なんですけど・・・
なんだ、穴だらけか。
>>814
>>815

上級者の方で教える技術が無い方は下記スレでダベりましょう。
初心者無視! Java相談室 その9
http://pc.2ch.net/test/read.cgi/tech/1021555964/

>>814
なにに大して邪魔なんですか?どう邪魔されたのか教えて下さい。
大して× 対して○
>>814
どっちかていうとお前が粘着です。残念ですが・・・
初心者が釣られて困っています。
だれか口に綿を詰めて黙らせてあげて!!
>>814 でもそのおかげで、/* */ってコメントの書き方がよくない理由が実例を使って
説明できるね。788では最終的にファイルをclose()できないときは
ほっておくという意図を伝えたくて/* */と書いたはずなのに、797はそれを読み取れずに
またエラー処理してprintStackTraceするコードに/* */があった部分を書き換えてる。
#まあもしかしたら悪意があって、わざわざ冗長なものにしているのかもしれんけど。
822デフォルトの名無しさん:02/07/30 23:15
>>819
しつこっ!!!(藁
粘着な上に口調を変えて自演かよ
おめでてーな
とりあえず、Javaの質問や相談以外は放置願います。 
825デフォルトの名無しさん:02/07/30 23:21
で、どのアフォが言ったコードが正解なんですか?
>>807
>out.write() で例外が発生して、その影響で out.close() からも例外が
>発生した場合、

てのは具体的にどんなときだ?
out.write()で例外Aが発生して、out.close()でも例外Bが発生するような状況なら
例外Aも例外Bも発生した原因は大概同じではないか?
同じならout.close()で発生した例外Bが報告されれば十分ということになる。
JDBCでも同じ。
827797:02/07/30 23:23
あぁすまん。797=826だ。
828765:02/07/30 23:23
>>826
同じ catch で受けるんですね?
>>826
あるんだよ、データベースで。「クローズできません」「トランザクションエラー」の
エラーコードで済まされているのが。もともとの例外なら「DB のヒープがいっぱい」
「トランザクションログがいっぱい」などのエラーコードが入ってるんだけど。

ファイルシステムの障害は運良くぶち当たったことが無いので何とも。でも inode が
おかしくなったりしたらこういう状況で出るかも。
830デフォルトの名無しさん:02/07/30 23:29
僕は788の方が好きかな。
理由はout.close()が例外を出し得るって事がコードから伝わってくるから。
それにwriteに失敗した時のエラー処理とcloseに失敗した時の処理は
分けて考えなければ成らないかも知れないし。
732=805 はとりあえず
クラスパスの設定
http://java.sun.com/j2se/1.4/ja/docs/ja/tooldocs/win32/classpath.html
を読んでください。あと、参考書を使っててそのサンプルソースが
インターネット上で読めるときには署名とURLを示しとくと、ひまな人が読んでくれるかも。
粘着が恥かくほど恥ずかしいことはないよな〜。いとあはれ。
833831:02/07/30 23:35
ごめん、間違えた。
ttp://java.sun.com/j2se/1.4/ja/docs/ja/tooldocs/findingclasses.html#userclass
のほうがいいかな。
>>829 の続き
普通システムってのは多重障害は想定しない、つまりある障害が原因で発生した
別の障害までは追求しないという考えがある (データ壊れたとかは別だが)。
で、最初に発生した障害 (それこそトランザクションログがいっぱいになった
とか) が原因で close() に失敗した場合、close() の例外じゃなくて最初の
例外を通知すべき、とあれこれ考えて最終的に >>788 になったわけ (このため
通知方法が無ければ close() の失敗は切り捨てるようになった)。最初は俺も
汚いコードだと思ったんだがな、もう慣れた。

ってか >>797 って Web 基○だか WA○s だか作ってない? どこかで見た
記憶があるぞ、そのコード。
前スレでも、 try が2段重なる程度は仕方がない ような話あったね。
836797:02/07/30 23:48
>>829
>あるんだよ、データベースで。「クローズできません」「トランザクションエラー」の
>エラーコードで済まされているのが。もともとの例外なら「DB のヒープがいっぱい」
>「トランザクションログがいっぱい」などのエラーコードが入ってるんだけど。

つまり、2つの例外が発生した原因は同じものだが現実としてJDBCドライバが
正確な報告をしないから別に処理しなければならない、ということか。

>>830
>理由はout.close()が例外を出し得るって事がコードから伝わってくるから。
>それにwriteに失敗した時のエラー処理とcloseに失敗した時の処理は
>分けて考えなければ成らないかも知れないし。

797でも十分伝わってくると思うが。というか、例外発生の原因が同じなら
writeとcloseの失敗をStackTrace以外で区別する意味はないはず。
837732:02/07/30 23:59
>>809
OSはWINDOWS98です。クラスがあるレジストリで間違いなく Java Sample1 と入力しています。
大文字小文字の区別も何度も確認しました。なんでうまく行かないんだろう…。
Autoexec.batに@SET CLASSPATH=C:\PROGRA~1\PHOTOD~1.0\ADOBEC~1 とかあるんですが
こういうのが影響してるってことは無いですよねー…。
>>837
>>833を読んでわからなかったら、コマンドラインから

dir



set

を実行してくれる?
839831:02/07/31 00:03
>>837
それ。832のリンク先を読んでくれているのならわかりますが、
環境変数CLASSPATHを設定していると、ユーザクラスパスのデフォルト値
であるカレントディレクトリをオーバーライドします。
840831:02/07/31 00:04
まちがえた。「832のリンク先」じゃなくて「833のリンク先」ね。
>>837
java -classpath . Sample1
とやってみてください。
842797:02/07/31 00:15
>>834
>普通システムってのは多重障害は想定しない、つまりある障害が原因で発生した
>別の障害までは追求しないという考えがある (データ壊れたとかは別だが)。

なるほど。堅固性が要求される場合には現実に合わせて別に処理する、と。
しかしまだ引っかかるな。JDBCドライバの実装に足を引っ張られている気がする。
プログラマは >>769 >>812 のような冗長なコードを書かなければならんのか。

そこまでシビアな状況でない時はやっぱり797のコードを書くだろう。

>ってか >>797 って Web 基○だか WA○s だか作ってない? どこかで見た

いや。別人だ。
843732:02/07/31 00:18
>>831
833読んでみましたがまだ理解するには難しいです…。setを実行してみたところ
C:\Java1\chap2>set
TMP=c:\windows\TEMP
TEMP=C:\windows\TEMP
PROMPT=$p$g
winbootdir=C:\WINDOWS
COMSPEC=C:\WINDOWS\COMMAND.COM
CLASSPATH=C:\PROGRA~1\PHOTOD~1.0\ADOBEC~1
PATH=C:\JDK1.3\BIN;C:\WINDOWS;C:\WINDOWS;C:\WINDOWS\COMMAND;C:\PROGRA~1\NETWOR~1
\MCAFEE~1;C:\PROGRA~1\GRISOFT\AVG6
windir=C:\WINDOWS
BLASTER=A220 I5 D1 T4 P330
と表示されました。
他のプログラムで設定されている環境変数CLASSPATH?が影響しているということでしょうか。
>>843
そうですね。それをはずせばいい。

たぶん、

java -classpath . Sample1

でもいいと思いますけど。 Sample1 の前のどっとを忘れずにね
845831:02/07/31 00:28
にしても、adobeが設定するその環境変数CLASSPATHって過去スレでも
出てきましたね。個人的には環境変数CLASSPATHを設定するのって反対
なんだけど。あと、lib/extをユーザアプリが使うのとか。
846732:02/07/31 00:29
>>844
! ホントですね。java -classpath . Sample1で実行されました。
「それをはずす」というのはただ消す、というわけにはいかないのでしょうね。
当面は −classpath を足した方法で進めていこうと思います。
みなさん本当にありがとうございました! 最初から挫折しないですみました。



>>846
がんばれ〜
>>846
なんでこんなに空行を入れるんだろう…
JavaでCのprintfのように書式を指定して出力するにはどうすればよいのですか?
例えばCのprintf("%02d", i);と同等なコードはJavaではどう書きますか?
850797:02/07/31 00:36
Javaでなくて悪いが、C#には using という構文があって
BufferedWriter out = new BufferedWriter(new FileWriter("hoge.txt"));
try {
 out.write("hoge");
} finally {
 out.close();
}

using (BufferedWriter out = new BufferedWriter(new FileWriter("hoge.txt"))) {
 out.write("hoge");
}
のように書ける。
これから見て取れるのは、途中で例外を投げる場合は、「closeでは失敗しない」か
「closeで発生させる例外でも同じ情報を提供すべき」という思想だと思ってるが、
ドライバによってはそういう考えが欠けているということなんだろう。
※C#は触ったことないから少し違うかも。

>>846
autoexec.batに
set CLASSPATH=%CLASSPATH%;.
で、再起動、でもいけると思うよ。738でも書いたけど
851797:02/07/31 00:42
>>849
DecimalFormat df = new DecimalFormat("00");
int i = 5;
System.out.println(df.format(i));
かな。細かい書式はAPIドキュメントを見れ
>>850
JAVAでない例がなぜここに?
853デフォルトの名無しさん:02/07/31 01:48
初心質問すみません。
mainでmoveメソッドを呼び出して、そこまでは成功してます。
それでmoveメソッド内でできた変数xをメイン内で表示させたくて
以下のようにしたんですがSystem.out.println(x);のとこでエラーがでてしまいます。
エラー内容はシンボルを解釈処理できませんとのことです。
書き方がどのようにおかしいのかおしえてもらえないでしょうか
public static void main(String[] args){
 sample w=new sample();
w.move(args);
System.out.println(x);
}
854849:02/07/31 01:49
>>851 どうもれす
>>853
何エラーよ?
856Rina ◆tI333vNE :02/07/31 02:55
>>855
落ち着けw 何エラーとかそういう問題じゃない.
mainメソッドの中にxの宣言が無いだけじゃないかw

>>853
質問の意図がよく掴めないんだが, moveメソッドの中の
変数xを参照しようとしているのかな?

public class sample {
public void move(String[] args) {
// ここでxを定義している?
}
}

public class hoge {
public static void main(String[] args) {
sample w = new sample(args);
w.move(args);
System.out.println(x);
}
}

もしこんな感じならxは表示できないよ. 対処法はケースバイケースだけど
xをsampleクラスのフィールドにするといいんじゃないだろうか. 例えば
こんな感じ.

public class sample {
// TYPEはdoubleなりintなりクラスなりお好きなものを.
public TYPE x;
public void move(String[] args) {
// ここで x をゴニョゴニョする.
}
}

public class hoge {
public static void main(String[] args) {
sample w = new sample();
w.move(args);
System.out.println(w.x);
}
}

これならうまくいくと思う. 詳しく, あるいは正しく理解したいのなら,
変数のスコープについて本やサイトで勉強するといいと思う. 頑張ってね.
>>856
お前、この質問にちゃんと答えて偉いな。俺は「moveメソッド内で
できた変数x」の表現から x を return で返してるかと思ったが。
858Rina ◆tI333vNE :02/07/31 03:45
>>857
褒めていただいて光栄です :) <って喜んでいいのだろうか?
確かにreturnしてる場合もあるんだよね. どっちなんだろう….
859デフォルトの名無しさん:02/07/31 04:16
サブクラスがスーパークラスの引数有りのコンストラクタを呼び出すとき、
super ( ... );
と書きますが、このコンストラクタが例外を持っているので、
try {
super ( ... );
} catch ( ... ) {
...
}
としたいのですが、super(コンストラクタ)の呼び出しは、
先頭文でなければいけませんと言われてしまいます。
こういう場合、スーパークラスのコンストラクタの例外は、
とれないのでしょうか。なにかいい方法はないんでしょうか。
>>859
サブクラスのコンストラクタも例外投げる宣言するのでは。どうしても
というなら、(ぜんぜんきれいじゃないけど) サブクラスかつラッパーな
クラスにするとか。

public class A{
  public A() throws Exception{…}
  public int hoge(){…}
}

public class B extends A{
  private A a = null;
  public B(){
    try{
      a = new A();
    } catch(Exception ex){…}
  }
  public int hoge(){return a.hoge();}
}
public class Derived extends Base {
 public static void main(String[] args) throws Exception {
  new Derived();
 }
 public Derived() throws Exception {
  super();
 }
}
class Base {
 public Base() throws Exception {
  throw new Exception("例外発生!");
 }
}
ではどう?
コンストラクタで例外が発生したということは、そのインスタンスのすべての
メンバは不定値になるから、派生側でも同じ例外を投げるのが正しい。
catchしたところで意味のある処理をすることは不可能。
862861:02/07/31 04:39
かぶった。
>サブクラスかつラッパーなクラスにするとか。
意味ないような・・・
863Rina ◆tI333vNE :02/07/31 04:41
そういう場合は素直にthrowした方がいいと思う.

/** 実現したいであろうコンストラクタ */
public HogeClass(FugaClass arg) {
try {
super(arg);
} catch (XXXException e) {
// 例外処理
}
}

/** こんな風に書いたら? */
public HogeClass(FugaClass arg)
throws XXXException {
super(arg);
}

子クラス(この例だとHogeClassね)を使用する側でXXXExceptionに
ついての例外処理を行わないといけないけど, こっちの方がいいと思う.

どうしてもっていうんなら, 親クラスにしたいクラスのインスタンスを
子クラスに持たせて, 子クラスにラッパーを実装するって手があるが
あんましお勧めできない.
864Rina ◆tI333vNE :02/07/31 04:42
かぶった…すまそ.
865デフォルトの名無しさん:02/07/31 04:42
>>860>>861
返答ありがとうございます。

>>860
確かにそれなら例外とれますねー。
ただ、あんまりやりたくない方法ですね。

>>861
それだと、Derived ()は使う人に、
例外を通達できませんよねー。
866860:02/07/31 04:46
だめだ、よく考えたら暗黙的にスーパークラスのコンストラクタが呼び
出されるので例外宣言しなきゃコンパイルできないんだ。布団の中に
入って気がついた。

>>865
例外の通達が目的なら素直に throw してください。
867Rina ◆tI333vNE :02/07/31 04:46
>>862
意味あるんでない?
型が重要な場合とか.
868デフォルトの名無しさん:02/07/31 04:47
>>863
いや、スーパークラスの引数有りのコンストラクタは、
例外が発生した場合、例外を使い手にスローしますが、
サブクラスでも同じように、使い手に例外をスローしたいのです。

もしかして、
public HogeClass(FugaClass arg) throws XXXException {
  super(arg);
}
だけで、例外を使い手にスローしてくれますか?
869Rina ◆tI333vNE :02/07/31 04:47
>>866
ん?素直にthrowしてるじゃん. 私,何か勘違いしてる?
870861:02/07/31 04:48
>それだと、Derived ()は使う人に、
>例外を通達できませんよねー。

ん?普通にできるけど。
例にExceptionを使ったのがまずかったか?
要するに基底クラスと同じ例外を投げる。Stream/Writer系のクラスは全部こうなってるはず。
871デフォルトの名無しさん:02/07/31 04:49
>>869>>870
ちと、テストファイル作って実験してみます。

872861:02/07/31 04:51
>public HogeClass(FugaClass arg) throws XXXException {
>  super(arg);
>}
>だけで、例外を使い手にスローしてくれますか?

861のコードはそのままコンパイル・実行できるから確かめてみるといい。
super(arg);
で例外が発生→catchされなかったら呼び出し元に例外が投げられる。
ごく普通の動作。
873860:02/07/31 04:51
>>862
あまりにも糞な作りのクラス (他チーム製) をチーム全員に使わせる
ときやる方法だよ。API の仕様上は A でなければいけない、しかし
A クラスを素で使わせるとトラブル続出な予感、な時にチーム先発実装
部隊が後続部隊のためにやる方法。
874Rina ◆tI333vNE :02/07/31 04:52
>>860さん, いない?
なんか自分が大きな勘違いをしてるような気がして不安なんだけど…(;_;).
875860:02/07/31 04:54
ひそかに 860, 861, Rina ◆tI333vNE と質問者の 4 人で盛り上がってる罠
876861:02/07/31 04:55
こんな時間になにやってんだか
877Rina ◆tI333vNE :02/07/31 04:55
正直, 明日は休日だから徹夜の勢いな罠.
878860:02/07/31 04:56
>>874
「素直に throw〜」は質問者に言ったんだが…
879Rina ◆tI333vNE :02/07/31 04:57
>>860
ならいい. 何かものすごい勘違いしたままJavaをやり続けてたのかと思ったよ(´Д`)ノ
880860:02/07/31 05:00
俺はもう寝る。
881Rina ◆tI333vNE :02/07/31 05:02
>>860
お疲れさん
882861:02/07/31 05:03
オヤスミ(´ー`)y-~~
883shige:02/07/31 09:05
Javaはこんなところにも使われてたっす。
http://feeds.directsex.com/res/kinky/res/liveindex1.asp
884デフォルトの名無しさん:02/07/31 10:58
激厨房な質問で誠に申し訳ないが……

「System.out.printlnの出力結果って、どこに表示されるの?」

……いやぁ、デバッグ用にラベルを表示させたいだけなんですけどね(^^;
それとも、Exceptionが出るとSystem.out.printへの出力は消えちまうのだろうか?

もちろん環境により千差万別なのは判っているので、「まずはこの設定を見れ!」
という所から教えていただけると非常に助かります。何卒お助けを(拝)
>>884
java.lang.SystemのAPIドキュメント

やろうとしてることは多分
java.lang.System#setOut(PrintStream out)
886デフォルトの名無しさん:02/07/31 12:36
Javaやりずれー!!
Cのがよっぽどマシ!
だれかJavaの本質をレビューしてくれ!
Cのがいいだろ?!
887デフォルトの名無しさん:02/07/31 12:49
double[][]array = new double [2][3]
に入れた値を
11 12 13
21 22 23
という風に行列表示したいです。
コマンドプロンプトでは縦に一列に並んでしまいます。
どうすればいいでしょうか?
>>887
お前は多分
System.out.println()したんだろ?そうじゃなくて
System.out.print(array[i][j])しれ。
>>883
あほくさ〜
891デフォルトの名無しさん:02/07/31 13:04
>>888 ありがとうございます。

class Hello {
public static void main(String args[])
{
double [][] array = new double [2][3];

for(int i=0;i<2;i++){
for(int j=0; j<3;j++){
array[i][j]=Math.random();
}
}

System.out.println(array[i][j]);
}
}

を試してみました。
System.out.println(array[i][j]);
iやjを解釈処理できませんとでました。どうしたらいいのでしょうか?
892デフォルトの名無しさん:02/07/31 13:12
よくかんがえたら、出力のとこにもループがいりますね。
と思って、ループ書いてみたのですが、うまくいきません。
これはどこがおかしいのでしょうか?

class Hello {
public static void main(String args[])
{
double [][] array = new double [2][3];

for(int i=0;i<2;i++){
for(int j=0; j<3;j++){
array[i][j]=Math.random();
}
}
for(int i=0; i<2;i++){
for(int j=0; j<3; j++){
System.out.println(array);
}
}
}
}
>>892
System.out.println(array);
894デフォルトの名無しさん:02/07/31 13:15
また間違えていました。さいごのところに[i][j]いれました。
でもやっぱり縦一列にでます。どうすればいいのでしょうか?

class Hello {
public static void main(String args[])
{
double [][] array = new double [2][3];

for(int i=0;i<2;i++){
for(int j=0; j<3;j++){
array[i][j]=Math.random();
}
}
for(int i=0; i<2;i++){
for(int j=0; j<3; j++){
System.out.println(array[i][j]);
}
}
}
}
895デフォルトの名無しさん:02/07/31 13:16
>>893
ありがとうございます。もうひとつヒントください。
println
897デフォルトの名無しさん:02/07/31 13:20
>>896
ふむ、なるほど、ありがとうございます。lnが余分でした。
やってみますた、今度は横一列に並びました。
縦2行横3列が希望なのですが、もう少しだけお願いします。
System.out.print(array[i][j]);
}
System.out.println();
}
}
}
for(i){
for(j){
print(array[i][j]);
}
println("");
}
900デフォルトの名無しさん:02/07/31 13:36
いろいろやってみましたが、ちょっと面倒なようです。
見やすくするのはあきらめました。printlnprintの違い覚えました。どうもありがとう。

これを一回実行するごとに2×3の行列が得られるので、その結果を
一回ずつ、テキストファイルにしたいのですが、どうすればいいでしょうか?
class Hello {
public static void main(String args[])
{
double [][] array = new double [2][3];

for(int i=0;i<2;i++){
for(int j=0; j<3;j++){
array[i][j]=Math.random();
}
}
for(int i=0; i<2;i++){
for(int j=0; j<3; j++){
System.out.println(array[i][j]);
}
}
}
}

901デフォルトの名無しさん:02/07/31 13:38
>>898 >>899 へたれな初心者を助けていただき、ありがとうございます!
早速試してみます。
902デフォルトの名無しさん:02/07/31 13:43
うまく2行3列に表示できるようになりました!!
こうやって改行すればいいんですね。勉強になりますた。

class Hello {
public static void main(String args[])
{
double [][] array = new double [2][3];

for(int i=0;i<2;i++){
for(int j=0; j<3;j++){
array[i][j]=Math.random();
}
}
for(int i=0; i<2;i++){
for(int j=0; j<3; j++){
System.out.print(array[i][j]);
}
System.out.println();
}
}
}
903Rina ◆tI333vNE :02/07/31 13:46
>>902
2とか3とか決めうちせずにarray.lengthを使うといい.
for(int i = 0 ; i < array.length ; i++) {
for(int j = 0 ; j < array[i].length ; j++) {
System.out.print(array[i][j]);
}
System.out.println();
}
あとでサイズが変わってもいいようにね.
904デフォルトの名無しさん:02/07/31 13:50
>>903
どうもありがとうございます。すぐそうしたいと思います。
自分でもSystem.out.print(array[i][j]+",");
をいれて、さらに見やすくしました。コマンドプロンプト上でしか
結果を見れないのですが、やはりこの結果を一回ずつ>>902でした
質問のようにテキストファイルにしていくというのは難しいのでしょうか?
905853:02/07/31 13:54
>>856
ありがとうございました
おかげでうまくいきました
分かりにくい質問に丁寧に答えてくれてありがとうございました
906デフォルトの名無しさん:02/07/31 13:58
調子に乗って書き換えていたら、2行2列になってしまいました・・・。
なぜでしょうか?どなたか教えてください。

class Hello {
public static void main(String args[])
{
int s=2;
int t=3;
double [][] array = new double [s][t];

for(int i=0;i<array.length;i++){
for(int j=0; j<array.length;j++){
array[i][j]=Math.random();
}
}
for(int i=0; i<array.length;i++){
for(int j=0; j<array.length; j++){
System.out.print(array[i][j]+",");
}
System.out.println();
}
}
}
for(int j=0; j<array.length;j++){
908デフォルトの名無しさん:02/07/31 14:14
>>907
ふみゅ、そうでし・・。array[i].lengthでした。なおりました。
ありがとうございました。
910デフォルトの名無しさん:02/07/31 14:32
>>909
ぐほっこれは難しいですね。ヘッダーにこーゆークラスを読み込んで
つかうのでしか?あまりプログラミングをわかってないので、
できそうにないです。まずDOSプロンプトから一回ごとに自動的に
カットアンドペーストする方法を探してみます。
>>910
なんでカットするの?
912860:02/07/31 14:36
リダイレクト使えよ。

C:\> java Hello > hoge.txt
数字固定うざ
へんな奴を送り込むな。
http://pc3.2ch.net/test/read.cgi/win/1027492185/267
>DOSプロンプトから一回ごとに自動的に
>カットアンドペーストする方法

DOSプロンプトを作り直す勇者か?
>>912
ファイルを作るなよ わざわざ

>>913
教える気のない上級者は(略
>>910
秀丸使ってごらん
918デフォルトの名無しさん:02/07/31 14:59
>>911
カットしなくてよかでした。>>912で教えてもらった方法で
乱数が行列でならんでいるテキストファイルを作成できました。
>>912
できました。こういう書き方あるんですね。
>>914 >>915
やっぱりできないですか?さっきの質問さらされるほど変ですか?
あのすみませんけど、>>912さんに教えてもらった方法
C:\> java Hello > hoge.txt
これを毎回するのはちょっとしんどいので1000回いっぺんにやる方法を
教えてもらえませんか?1000通りくらい乱数の行列あると便利なんです。
お願いします。
>>918
Helloを書き直せ
コピペすればあっという間です。

1行をコピペすると2行
2行をコピペすると4行
4行をコピペすると8行
...
512行をコピペすると1024行
921デフォルトの名無しさん:02/07/31 15:04
>>916
教えてもらった義理があるので、あえて言わせてもらいますが、
僕はファイルを作る方法を質問しました。だから、ファイルを
作れて満足しています!
922デフォルトの名無しさん:02/07/31 15:04

  フ  ァ  イ  ル  ま  ん  せ  ー  ー  ー  !  !  !
>>921
満足したのなら帰れ。
>>923
いじけるなよ
925デフォルトの名無しさん:02/07/31 15:10
あの、すいませんが、C:\> java Hello > hoge.txt
を1000回繰り返す方法は茶化しているわけではなく本気で
質問しています。煽ったみたいですいません。
>>919
書き直すポイント教えてください。お願いします。
>>925
mainの中身をforで囲めばいいじゃん。
928Rina ◆tI333vNE :02/07/31 15:13
dosってfor文ないの? bashなら
for i in $(seq 1 1000); do java Hello >> hoge.txt; done
でできるんだけど.
929Rina ◆tI333vNE :02/07/31 15:16
>>928
自己レス. javaを1000回実行なんて現実的じゃないね. すまそ.
書き終わってから気がついたよ.
930デフォルトの名無しさん:02/07/31 15:16
DOSのここですいませんでした。板違いなのでほかに行きます。
ありがとうございました。
>>927
ちょっと試してみます。
>>928
cygwin入れているので、試してみます。
931Rina ◆tI333vNE :02/07/31 15:21
>>930はjavaを1000回実行してるのでしょうか…早とちりとはいえ,
悪いことしちゃったな.
冗長。
ここは保育園ですか?
>>932
そういうのやめてね。
>>931
勉強にはなるんじゃない?
935Rina:02/07/31 15:28
>>932
セクハラはやめてください!
936デフォルトの名無しさん:02/07/31 15:29
bash: Hello: command not found
でした。でもよく考えたら自分のにはLinux用のJAVAはいっていません・・・。
やはりDOS窓に関する質問のようです。ありがとうございます。
>>927
これだと、乱数の発生数が1000になってしまう
ことに気づきました、ここでやっと、6000個発生させて6個ずつ組
になるようにtxtを加工しても得られる結果は一緒だと気づきました。
こっちのほうが簡単そうです。ありがとうございました。
937Rina ◆tI333vNE :02/07/31 15:35
>>935
トリップ付いてないから偽物ね. 誤解を招くといけないのでいちおう.
938sage:02/07/31 15:36
>>931
C:\>javac Hello.java
C:\>java Hello
でいつも実行しています。

>for i in $(seq 1 1000); do java Hello >> hoge.txt; done

幸運にも?javaを1000回実行しなくてすんだのですが、
Helloを実行するときにjavaと書かなくてもいいのでしょうか?
#ずっとageで書いていてすいません。忘れていました。

すません。sage書くとこ間違えました。アホですね<自分
940Rina ◆tI333vNE :02/07/31 15:38
>>986
doの後にjavaがあるよ.
>bash: Hello: command not found.
って出たのは, このjavaが抜けてたんでない?
941デフォルトの名無しさん:02/07/31 15:40
お節介固定はじきにウザくなること必至。
943Rina ◆tI333vNE :02/07/31 15:51
>>942
すまん,気をつけます.
>>940
そうでし・・JAVA抜けていました。CYGWINはやはり使いこなせないので
あきらめました。
>>943
>>942はいろいろ教えてもらった僕ではありませんので、
たぶんさっきからハエみたいに僕をあおっていたヤシだと
思います。質問厨ですまそ>>>942
いろいろ教えてくれてありがとうございました。RINAさん。
今日はRINAさんで抜かせてください。
ネカマだろ
のんけだろ?
950デフォルトの名無しさん:02/07/31 16:24
うpキボンヌ
>>949
ヘルメットで顔がはっきりわからないのだが?
こっちの方がはっきり見えますた。
ttp://www7.big.or.jp/~mb2/bbs/up/img-box/img20020731155051.jpg
>>949
だれか再うpして!!
954949:02/07/31 16:48
sage進行しないとupしないよ。
半角?
Frame上に配置されているボタンやテキストエリアを重なるような形で
Canvasオブジェクトを配置するようなことをするにはどうしたら良いでしょうか?

最初、ボタンやテキストエリア、Canvasオブジェクトをあらかじめ配置しておきCanvasオブジェクトだけVisibleをFalseにして
必要になったらTrueにするという方法を考えたのですが
FrameのレイアウトをGridBagLayoutにしているためCanvasオブジェクトを重ねておく事が出来ませんでした。

どなたか宜しくお願いします。
9571ヶ月ずっと迷ってる:02/07/31 17:16
んで、結局、javaはじめるには、何をそろえれば・・・。
何からはじめれば・・・。
結局、自分がいいと思ったモノをチョイスするしかないのか。
う〜。
958853:02/07/31 17:22
ついでにもう一つ質問です
今度は配列を渡してみたいのですが
class hoge2{
public double x[];
public void sample(String args[]) {
double x[]=new double [10];
x[3]=5;
}
}
public class hoge {
public static void main(String[] args) {
sample m=new sample();
m.cal(args);
System.out.println( m.x[3] );
}
}
これだとコンパイルは通るのですが実行でエラーがでます。
この原因は何なのでしょうか?またちゃんと配列を表示させるにはどうすればいいのでしょうか?
よろしくお願いします
>>957
初心者の本を読め。
CDなんてついてなくていいけど、作りながら覚えていけるヤツ。

何冊もね
>>958
> これだとコンパイルは通るのですが実行でエラーがでます。

正確な動作ですね。よかったね。

> この原因は何なのでしょうか?

エラーを出すように作られているからです。

> またちゃんと配列を表示させるにはどうすればいいのでしょうか?

エラーを出さないように作ればいいと思います。
先生、>>960のレスは不要だと思います。
>960
わかんないなら(略

…とは言ってみたものの、俺にもわからん。

> これだとコンパイルは通るのですが実行でエラーがでます。

なんでコンパイル通るんだろう…
意図しない sample クラスがどっかにあるんだろうな…。

先生、>>962のレスも不要だと思います。
>>779たん。
あなたのきょうのラッキーアイテムはduke。
dukeをあたまからかぶって
語尾に「じゃば」をつけると萌え度120%アップの予感。
街を逝くプログラマーの視線をくぎづけ。

よかったら今後の参考にどうぞ。
http://www.watch.impress.co.jp/internet/www/article/2001/1128/tenji6s.jpg


>>956たん。
えーとCanvasの上にボタンやテキストエリアを配置したいの?

SwingならJPanelとかJComponentとかのサブクラスをつくって、
そのサブクラスにCanvasクラスと同じような機能を実装させて、
で、そのサブクラスのオブジェクト上にボタンやテキストエリアを配置。

AWTは、よくわかんないけど、
たぶんPanelクラスのサブククラスをつくって、
そのサブクラスにCanvasクラスのときと同じような機能を実装させて、
そのサブクラスのオブジェクト上にボタンや
テキストエリアを配置するといいんじゃないでしょうか。

んで最後に、そのサブクラスのオブジェクトをFrameにはめこむと。
意味不明な質問には、間違って無く且つ意味不明な回答をするのは、質問者の勉強にはなる。

とおもった・・・・。
>>964
たんたん うるさいよ やめてくれ
よーし、パパ >>958 に釣られてやるぞー
とりあえず、やってることが全然わからないので質問返し

1.
クラス hoge2 は、どのように使われますか?

2.
クラス sample は、どのように機能しますか?

3.
sample m=new sample();
この一行は何をしていますか?

それぞれ、50〜100文字程度で簡潔に答えてちょ。
968デフォルトの名無しさん:02/07/31 18:11
>>966
がばまんたんに何てこと言うんだ!
>>968
うるさいな、がばまんとともに消えろ
そういえば、ずっとまえのほうに、
変数名のつけかたについての質問があったけど、

変数名や関数名の最初の文字は小文字にして、
クラス名の最初の文字は大文字にすると、
いくぶん読みやすいような気がする。

たとえばSampleクラスとか、
Hoge2クラスのsample()メソッドとか。

まとめて>>968-969たん。
いっしょに下のスレに逝こうよ。
http://pc3.2ch.net/test/read.cgi/tech/1021555964/l50
>>970
次スレよろ。
>>970
変数名や関数名には、おきまりがありますよ。絶対ではありませんが。
コテハンで書いてる人ならそのくらい知っていると思った。
Javaの命名規則はゆるいよ。
http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html
>>973
がばまんたんに盾突くと呑み込まれますよ?
そういえば名前つけの規約って漠然としか知らないや。
もともと、おれ単なるネタ心ものだしな。。。ちょっと勉強してくる。
http://www.google.com/search?hl=ja&ie=UTF-8&oe=UTF-8&q=java+beans+get+set+is&lr=lang_ja
977958:02/07/31 18:43
すみません書き間違えでした
sumpleがすべてhoge2です
978アトム:02/07/31 18:45
Javaを最近勉強し始めました。
今まではCをやってたんですが。
Javaってどういうときに便利なの?
>>978
それが分からないなら使わなきゃいいじゃん。
>977
「コンパイルが通った」と言っといて、あとから「書き間違いでした」か…
まぁ、sample をすべて hoge2 にしても、コンパイルは通らないんだけどな。

もうちょっと正確に書けよ。
hoge2() なんてコンストラクタはないし、
cal(String[]) ってメソッドも無いやんけ。
記念パピコV(^o^)V
982958:02/07/31 19:01
>>980
いろいろすみません
ちょっといろいろおかしいのでもう一回あとで書きなおした奴を
張らせてもらいます
ところで >958,982 は、こんな書き方を知っていますか?

class Du
{
 int x;
 public void setX(int x)
 {
  this.x=x;
 }
}
大先生はオブジェクト指向の講義でも始めるつもりだろうか。
>>984
まぁまぁ
!初心者は無視して良いんじゃない?
>>976
うるさいな、がばまんとともに消えろ
>>980
> hoge2() なんてコンストラクタはないし、

なんでコンストラクタの話がでるの? 煽るつもりはないが、なぜか説明してくれない?あなた危ないから
988デフォルトの名無しさん:02/07/31 22:05
>あなた危ないから
??
ついにチョン登場ですか?
>>988
なんでageるの? しかも意味不明だし
990危ない人930:02/07/31 22:44
>987
ごめんなさいね。
public hoge2(String args[])
ってコンストラクタ宣言があるかと勘違いしたんですわ。
なので、>930 は間違いです。
hoge2() ってコンストラクタは、たぶんあります。たぶん。
>958 のソースは「ちょっといろいろおかしい(>982)」らしいので、
正確なところはわかりませんがね。
>>990
なんとなくあなた安全(w
992デフォルトの名無しさん:02/07/31 22:58
>979
それを知りたいから勉強してるんですよ・・・

993デフォルトの名無しさん:02/07/31 23:11
senn
ム板じゃ千取りってやらんのか(恥


エロ
996
次スレ
【初心者】Java質問・相談スレ5【大歓迎】
http://pc3.2ch.net/test/read.cgi/tech/1028096225/l50
 
【初心者】Java質問・相談スレ5【大歓迎】
http://pc3.2ch.net/test/read.cgi/tech/1028096225/
【初心者】Java質問・相談スレ5【大歓迎】
http://pc3.2ch.net/test/read.cgi/tech/1028096225/

10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。