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

このエントリーをはてなブックマークに追加
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://pc3.2ch.net/test/read.cgi/tech/1021555964/


基本的にsage進行でおねがいします。また煽り厨は放置でお願いします。
http://pc.2ch.net/tech/kako/1026/10266/1026601774.html (の22)

21:02/08/20 01:30
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/tech/kako/997/997791189.html
Java相談室part5
http://pc.2ch.net/tech/kako/1003/10035/1003567552.html

ネタ心者歓迎!今更ながらに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/tech/kako/1006/10064/1006408230.html
ネタ心者歓迎!今更ながらにJava相談室  その3
http://pc.2ch.net/test/read.cgi/tech/1007802486/
ネタ心者歓迎!今更ながらにJava相談室 その4
http://pc.2ch.net/tech/kako/1010/10105/1010545421.html
初心者歓迎! Java相談室 その5
http://pc.2ch.net/tech/kako/1012/10129/1012968994.html
初心者歓迎! Java相談室 その6
http://pc.2ch.net/tech/kako/1015/10154/1015418174.html
初心者歓迎! Java相談室 その7
http://pc.2ch.net/tech/kako/1018/10186/1018631329.html
初心者歓迎! Java相談室 その8
http://pc.2ch.net/tech/kako/1020/10204/1020453823.html
初心者無視! Java相談室 その9
http://pc3.2ch.net/test/read.cgi/tech/1021555964/
http://pc.2ch.net/tech/kako/1021/10215/1021555964.html

【初心者・ネタ】Java質問・相談スレ【大歓迎】
http://pc.2ch.net/tech/kako/1021/10218/1021817147.html
【初心者】Java質問・相談スレ2【大歓迎】
http://pc.2ch.net/tech/kako/1023/10233/1023319551.html
【初心者】Java質問・相談スレ3【大歓迎】
http://pc.2ch.net/tech/kako/1024/10248/1024885660.html
【初心者】Java質問・相談スレ4【大歓迎】
http://pc3.2ch.net/test/read.cgi/tech/1026601774/ (02/08/19現在 html化待ち)
【初心者】Java質問・相談スレ5【大歓迎】
http://pc3.2ch.net/test/read.cgi/tech/1028096225/
31:02/08/20 01:31
■■■ 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/08/20 01:31
■■■ 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 はこちら↓をご覧ください。

JavaFAQ : Java に関するよくある質問とその回答集
http://www.gimlay.org/~javafaq/javafaq.html
誰にも分からないJava講座
http://park.ruru.ne.jp/ando/work/who/html/index.html

51:02/08/20 01:31
61:02/08/20 01:31
■■■ 撲滅させたいかた、死滅を心配してるかた ■■■

CとJavaを比較した場合Cの良いとこと悪いとこ
http://pc.2ch.net/tech/kako/1009/10097/1009707596.html

JavaとC++はどちらが良いのですか?
http://pc3.2ch.net/test/read.cgi/tech/1023079017/
http://pc.2ch.net/tech/kako/1023/10230/1023079017.html

??Javaってどこで使われてるの??
http://pc3.2ch.net/test/read.cgi/tech/1026137766/
http://pc.2ch.net/tech/kako/1026/10261/1026137766.html

Javaは難しすぎ
http://pc3.2ch.net/test/read.cgi/tech/1022667056/
http://pc.2ch.net/tech/kako/1022/10226/1022667056.html

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

●●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
71:02/08/20 01:32
■■■ Java関連スレいろいろ ■■■

統合開発環境。

IBM VisualAge for JAVA
http://pc.2ch.net/tech/kako/989/989931658.html

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

[Java]JBuilder5[Java]
http://pc3.2ch.net/test/read.cgi/tech/995044723/l50
JBuilder6について語り合いませんか?
http://pc3.2ch.net/test/read.cgi/tech/1011609625/l50
JBuilder 7日本語版発売、Personal無償7月中
http://pc3.2ch.net/test/read.cgi/tech/1023102379/l50
【Meadow】Java開発環境(・∀・)イイ【JDEE】
http://pc3.2ch.net/test/read.cgi/tech/1017214967/l50
Forte for Java
http://pc3.2ch.net/test/read.cgi/tech/1016161880/l50

サーバサイド。

JAVAサーブレットQ&A
http://pc.2ch.net/tech/kako/972/972229341.html
JavaサーブレットQ&A LV2
http://pc.2ch.net/tech/kako/1012/10127/1012728608.html
サーバーサイドJAVAをまたーり語るスレ
http://pc.2ch.net/tech/kako/1004/10049/1004972840.html

JSPに関するQAスレッド
http://pc3.2ch.net/test/read.cgi/tech/1014905560/l50
TOMCAT
http://pc3.2ch.net/test/read.cgi/tech/998525941/l50

携帯。

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


81:02/08/20 01:33
■■■ Java関連スレいろいろ ■■■

その他。

クライアントサイドJavaどうよ?
http://pc3.2ch.net/test/read.cgi/tech/1002160815/l50
【祝】 JDK 1.4 βリリース
http://pc3.2ch.net/test/read.cgi/tech/990949654/l50

Javaアプレットのゲームの限界は!
http://game.2ch.net/test/read.cgi/gamedev/1005230153/l50
ム板のみんなでRobocode (・∀・)ヤローウヨ!1台目
http://pc3.2ch.net/test/read.cgi/tech/1020161792/l50


Pure Java Mail Server
http://pc.2ch.net/tech/kako/1009/10099/1009991622.html
Java Media Framework とか
http://pc.2ch.net/tech/kako/1015/10159/1015938096.html

91:02/08/20 01:33
 
101:02/08/20 01:38

とにかく、下記のサイトは出来る限り目を通して欲しいね。

JavaTM 2 Platform, Standard Edition, 1.4.0 API 仕様
http://java.sun.com/j2se/1.4/ja/docs/ja/api/index.html

あと>>4>>2-9 にあるサイトにもできる限り。


以上
111:02/08/20 01:43
>>4 は 1.3 じゃなくて 1.4 じゃないとね。次回書き換えるよ。
すみません、質問です。
現在Swingベースのアプリを書いていて、
ある画面でキーが押されるとそのキーに対応したモーダルのJDialogが
表示されるようになってます。
モーダルなのでダイアログは一つしか表示できないかと思ったのですが、
急いでキーを連射すると、ダイアログに入力がロックされるより早く
別のダイアログが表示されてしまいます。
これを確実に一つのダイアログしか表示されないようにする方法は
無い物でしょうか?
現在、キーが押されたら親画面にロックのフラグを立てて、
ロックが解除されるまでは入力を処理せず廃棄しているのですが、
出来たら先行入力気味でもきちんと入力を処理できるようにしたいです。
>>1 = そーろー
>>13
ずっと前から900を超えたときに立ってますが?
15デフォルトの名無しさん:02/08/20 17:21
新しいスレが立ってたなんて知りませんでしたすいません!
まちがって相談スレ5で質問しちゃったので、
一応こっちにもコピーを張っておきます。
だれかわかる方いたら教えてください!

相談スレ5[934]>>
JTableのセルにJSliderを貼り付けるってできますかね?
TableCellRendererだとJSliderの表示すらしてくれなくて。
   ∋oノハヽo∈ / ̄ ̄ ̄ ̄ ̄ ̄ ̄
     ( ^▽^) < 新スレおめでとうございま−す♪
   = ⊂   )   \_______
   = (__/"(__) トテテテ


17デフォルトの名無しさん:02/08/20 20:45
class sample extends JComponent{
public sample(){}
public void paint(Graphics g){
g.drawImae(img[count],100,100,this);
}
}
public void クラス名 extend JApplet{
処理
}
ってのがありまして。アプレットの処理のところでint型のcountをいろいろ
変化させて,sampleクラスのcountに結果を反映させたいのですがどーすれば
いいですか?教えてください。
>>17
アプレットのインスタンスフィールドにfinal int countを定義して
クラスsampleをインナークラスにするのが手っ取り早いんじゃない?

19デフォルトの名無しさん:02/08/20 21:02
>>18
ありがとうございます。finalってどういう意味です?グローバルですか?
インナークラスにする場合アプレットクラスのどこに記入するのがベストですか?
>>19変更不可。
21デフォルトの名無しさん:02/08/20 21:12
>>20
インナークラスなんですがinitの中に書いたほうがいいのですか?それか、どこでも
いいのですか?
2218:02/08/20 22:00
>>21
finalは一度初期化したらそれ以降代入ができないよという意味の修飾子ね。
これがないとインナークラスから参照できない…と思う、確か。
21の質問の意味がいまいち捉えにくいんだけどインナークラスを
インスタンス化するタイミングということ?
だったらinit()メソッドでいいと思うけど。
>>17
1を読めな
25デフォルトの名無しさん:02/08/21 01:15
>>23
意味がよくわからないです。半角がどーのこーのってどーゆうことですか?
ネタじゃなくて本気で・・・
26デフォルトの名無しさん:02/08/21 01:23
>>25
いやたぶん>>23はソースがインデントされないから
読みづらいってことをいってるのだと思う。
g.drawImaeの先頭に半角スペースがはいってると
public void paint(Graphics g){
g.drawImae(img[count],100,100,this);
}
ってなって読みづらいけど
全角スペースに書き換えて投稿すると
public void paint(Graphics g){
    g.drawImae(img[count],100,100,this);
}
となって読みやすい。
27デフォルトの名無しさん:02/08/21 02:01
Javaってかがく技術計算には向かないんですか?
向かなかったら今後改善されますか?
インターネットやグラフィックには強いんですよね
>>27
C言語程度の柔軟性は持ってると思いますが。
>>25
なぜ、「どーのこーの」と読まないでいいと思っているの?日本語くらいは読もうよ。
>>27
何故「向いてない」と思った?
java.math.BigDecimal使えば大抵のことはできるんではないか
31デフォルトの名無しさん:02/08/21 11:05














次のご質問をどうぞ・・・・・・・・・・・・・・・・・
>>961はアホ。
常に俺は正しい。おまえら俺より馬鹿なんだろ? って言いたかったんだな。>>961って
結局荒らししかできないのな
>>34
>>961お引っ越し。
>>34
はい、おまえは正しいよ。 俺たちはお前より馬鹿だよ。
>>32
やめろよ。煽るためのスレじゃないだろ。


次のご質問をどうぞ・・・・・・・・・・・・・・・・・
       (>>961がこのスレのすべての謎を解くというのかね!?)
    _________        V
    |________| Z        
    ||∧∧|| z     (\_/)
    |(,-Д-)    Σ (・∀・ )
   ■∪∪■     (    )
   (-_||∪∪||      | | |
   (∩|| ̄ ̄||     (__)_)
 
自分より頭いい奴が居たら何か吸収しようとするだろ。
期待してたんだがなぁ。
最初から煽り調で書けばよかったのか?まぁ後の参考にするよ
>>39
961に対して言ってるの?
>>39が、 961 に対してじゃないのなら、
>>39 = 961 = 「俺は頭いい奴なんだから、俺からなにか学べ」ってことになってしまう。(笑
42デフォルトの名無しさん:02/08/21 11:44
>15
前スレ944
43デフォルトの名無しさん:02/08/21 13:39
初歩的な質問かもしれませんが
コンテナに画像をロードする方法はいろいろな本に載っているのですが
音楽というのもロードすることはできるのでしょうか?
>>43
あくまでも一例ですが

http://www2.wbs.ne.jp/~hds/swjava.htm
46デフォルトの名無しさん:02/08/21 14:11
素人な質問ですいません。Javaのアプレットで
NS6.2ではちゃんとうごくのに、IE5.5では、
Error loading class: hogehoge
java.lang.NoClassDefFoundError
java.lang.ClassNotFoundException: hogehoge
at com/ms/vm/loader/URLClassLoader.loadClass
at com/ms/vm/loader/URLClassLoader.loadClass
at com/ms/applet/AppletPanel.securedClassLoad
at com/ms/applet/AppletPanel.processSentEvent
at com/ms/applet/AppletPanel.processSentEvent
at com/ms/applet/AppletPanel.run
at java/lang/Thread.run
などと怒られてしまいます。
どんな悪いことをしてしまったのでしょうか?
47デフォルトの名無しさん:02/08/21 14:14
音がでました。ありがとうございました!!
>>46
JavaVMが「アプレットのクラスファイルが見つからない」と怒っている。
HTMLのアプレットの記述が間違ってるんだろ。
ちゃんと互換性のある正しいHTMLを書け。
4946:02/08/21 14:39
フォロー多謝>>48

<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
<APPLET CODEBASE="http://www.foo.com/" CODE="hogehoge.class" WIDTH=100 HEIGHT=80>
</APPLET>
</BODY>
</HTML>

などと書いているのですが、悪いところ指摘してください。
www.foo.comはローカルマシンでOSは2000です。
Javaは1.4で1.2ターゲットでコンパイルしました。
で、IEは5.5SP2、1.4を<applet>に使わない設定にしてあります。
50デフォルトの名無しさん:02/08/21 14:49
変数を volatile 指定する事の意味がイマイチ解りません。
教えてください。
51デフォルトの名無しさん:02/08/21 14:50
>>49
<APPLETタグのCODEBASEの意味は理解してるか?
これはclassファイルをさがす基点を指定するもんだ。

その書き方だとそのローカルマシンとやらにHTTP鯖が動いていてwww.foo.comという名前でアクセス可能で
さらにそのドキュメントルートディレクトリにhogehoge.classファイルがないといけない事になるぞ。
(セキュリティ上固定で指定するのは好ましいが、、NSでなんで動いたんだ?)

デバッグ中はCODEBASE="."とでもしとけ。(htmlとclassファイルを一緒に置くなら。)
52デフォルトの名無しさん:02/08/21 14:50
IE5.5はJava2は対応してない
NN6はJava2対応してるけど
なんでhtmlの問題じゃない
>>51
> その書き方だとそのローカルマシンとやらにHTTP鯖が動いていてwww.foo.comという名前で
> アクセス可能でさらにそのドキュメントルートディレクトリにhogehoge.classファイルがないと
> いけない事になるぞ。

そこを疑う必要はないと思う。
>>51
> NSでなんで動いたんだ?

ローカルマシン www.foo.com のドキュメントルートディレクトリに hogehoge.class があるから。
大変くだらない質問で申し訳ないのですが、

public class AAA {
  public static void main(String[] args){

って感じで書き始めるプログラムっていっぱいありますけど、この”String[] args”ってなんですか?
>>56
何が聞きたいのか知らんが。

引数の意味:コマンドライン引数
引数の型:String型の配列
58デフォルトの名無しさん:02/08/21 16:00
引数だよ
mainメソッドのどこかに下の入れて

for(int i=0;i<args.length;i++){
  System.out.println(i + "=" + args[i].toString());
}

>java クラス名 12 13 14
てな感じに実行してみればわかる
6049:02/08/21 16:51
多数のフォローありです。

 51>デバッグ中はCODEBASE="."とでもしとけ。(htmlとclassファイルを一緒に置くなら。)
これはやりました。結果的に絶対アドレスでやってもだめでした。

 52>IE5.5はJava2は対応してない
 52>NN6はJava2対応してるけど
 52>なんでhtmlの問題じゃない
納得。VMを一番疑っていたんですが、swingを使ったら動かなく
なりました。使わなければ動いたので。ありがとうございました。
ちなみにIE6.0ならばJava2対応?
>>60
寝ぼけてる?
6260:02/08/21 16:58
>>61
すいません。
頭悪くて何をあふぉなことを言ったのか分かりません。
おせぇーてください。
>60
>53
6427@亀レスすまそ:02/08/21 17:46
>>30
Javaって実行速度が遅いから馬力がほしいときにダメなんじゃないんですか?
>>64
で、科学計算に向いていないと。
66デフォルトの名無しさん:02/08/21 18:17
ボタンが押されたときにファイル選択をしてファイルのパスを取り出すようにしたんですが
ちゃんと結果は出るのですが、開いても取り消しボタン押してもなぜかもう一度ファイル選択のダイアログが出てしまいます。
これはなぜなんでしょうか?
Container cnt;
String fileName;
〜〜以下がイベントで起こる動作
JFileChooser fc = new JFileChooser();
int res =fc.showOpenDialog(cnt);
if( res != JFileChooser.APPROVE_OPTION)return;
fileName =fc.getSelectedFile().getAbsolutePath();

これでボタンを押したらファイル選択のダイアログが出るですが
上のXボタンを押してもいったん終了してまた同じダイアログが開いてしまいます。
もう一度閉じるとうまく閉じます。全体の動作が二回になってしまっているのです。
わかりにくい説明ですが原因がわかる人いましたらどうか原因を教えてください。

>>61
おまえは相手が初心者だということを考えてしゃべれ

でなきゃ、上級者の方で教える技術が無い方は下記スレでダベりましょう。
初心者無視! Java相談室 その9
http://pc3.2ch.net/test/read.cgi/tech/1021555964/
6867:02/08/21 18:47
まぁ、>>53 を読んでいない >>60 は寝ぼけているんだろうけどさ(w
>>66
> ボタンが押されたときにファイル選択をしてファイルのパスを取り出すようにしたんですが
> ちゃんと結果は出るのですが、開いても取り消しボタン押しても
> なぜかもう一度ファイル選択のダイアログが出てしまいます。

なにをやりたいかのではなく、 なにができないのかその機能だけを抽出してみましょう。
ボタンとか、選択とか、ファイルとか、出されても、それを見ていないのでわからないんですよ。

結局なにができないの?
>>66
ActionListenerにリスナーが多重登録されてない?
71デフォルトの名無しさん:02/08/21 22:13
OutOfMemoryErrorをキャッチしてもどうしようもないよな・・・
>>71
Servletエンジンなんかはキャッチしてるんじゃなかったけ?
おとといeclipse使ってたら、メモリ足らんから
ワークベンチ終了せい、いわれた。
7466:02/08/21 23:42
>>69、70
レスありがとうございます
結局見なおしてみたら70さんの言われた通り多重登録していました。
おかげで解決できました。どうもありがとうございました


75デフォルトの名無しさん:02/08/22 00:16
Threadが生きているかどうか知るためにはどうすればいいのかな?
>>75
該当スレッドにメッセージでも常には貸せとけ。
77デフォルトの名無しさん:02/08/22 00:43
javaやるなら最初は何から取り組むべきですか?私はC言語の基礎はあります。
appletの中にもawt,swingがありますし、アプリやサーブレット、などなど
助言お願いします。
>>77
適当に楽しめばいいと思われ。C知ってるなら基本は大丈夫でしょう。
まずはオブジェクト指向になれることかと。
オブジェクト思考を身につけよう
>>77
「C言語の基礎」という発言からして、GUIは扱った事が無いと思います。
JavaでもCUIでCと同じように練習するところから始めて、
基本が理解出来たら(練習用という意味で)Appletあたりから
GUIを書いてみては如何でしょうか?
個人的にお勧めの入門書は「独習Java」です。

GUIはAWTよりはSwingの方が色々出来るので、
この本が終わったら
「Java GUIプログラミング さらにパワーアップしたSwing」あたりで
本格的に書いてみては。
// 私はSWTについては全く知らないので、そちらも調べてみるとよいかも。
8180:02/08/22 01:49
>>77
書き忘れましたが、勿論SwingではなくServletを勉強するのも面白いと思います。
// というか、Javaの得意分野はそちらですが。
82デフォルトの名無しさん:02/08/22 03:25
パネルの上にdrawLineで線を2本引いてグラフのx、y軸を書いたんだけど
軸に目盛りを付けることってできないんですかね?
今のままじゃグラフを書いてもどのぐらいの範囲であるか見た目にわからないので。
よろしくお願いします。
>>82
同じようにdrawLineで描けばいいんじゃねーの?
Javaの用語っていろいろあって面倒くさいよな
SwingとかSWTとかJDKとかSDKとかJ2SEとかJNIとか
どうもよくわかんない
>>84
しらなくていい。
>>81
しゃべんなボケ。
87’javac’について:02/08/22 07:42
'javac'は内部コマンドまたは外部コマンドとして認識されていません。
操作可能なプログラムまたはバッチファイルとして認識されていません。

java初心者です。OSはXP、テキスト技術評論社で同封のCD使用です。SDKです。
インストールしてPATH変更で、しょっぱなからつまづいてます。(P.29めです)
誰か助けてください。

ちなみにJBuilder7でもデバッグなどしてから実行するとプログラム実行の結果が
わからず。困ってます
>>87
パスとクラスパス設定。
8987:02/08/22 07:49
ありがとうございます。
 もっと詳しくお願いします。
90デフォルトの名無しさん:02/08/22 08:18
>>89
もう十分詳しいぞ
>>89
下記を読もう。
http://java.sun.com/j2se/1.4/ja/install-windows.html


>>88
クラスパスは無理に設定しないほうがいい。

>>90
教える技術の無い方は黙っていましょう。
>>91
>クラスパスは無理に設定しないほうがいい。
先生!コンパイルは通りますが実行しやがりません!
>>92
.classのあるディレクトリに潜って
java -cp . ファイル名から.classをとったもの
>>93
先生!面倒です。素直にクラスパス設定しちゃいけないんですか?弊害あり?
>>94
いけません。こっちがフォローするのに疲れるという弊害があります。
>>95
パスの設定ついでに教えてやれよ・・・。
MVCモデルにおいて、Control(Servlet)でキャッシュ無しに設定し、
Model(Bean)処理後にJSPに画面遷移する。
その際に、当然のことながらキャッシュ無しのため前画面に戻る処理で、
JavaScript:history.back()が使用できません。

そこでセッションオブジェクトに前画面のリクエストパラメータを格納する
方法がありますが、下記のような画面構成の場合、A → B → Cと
遷移したときにBに戻ることはできますが、次にAとA'のどちらに戻るべきかの
判断がつきません。
何か文献やWEBでも構いませんので情報がありましたら教えてください。

画面遷移例)
A→B→C
A'→B→C
98新兵:02/08/22 10:15
テキストファイル中の日付部分の範囲マッチングなんですが、
Pattern クラスの正規表現の記述方法が今ひとつわかりません
テキストファイルの各行の先頭が YYYY/MM/DD HH:MM となっている
として日付の前後関係はランダムです。。。
昨日丸一日使っても解けませんでした。。。(´д`;
どなたか良い正規表現を教えてください!
>>97
>前画面のリクエストパラメータを格納する方法が
じゃあそのリクエストパラメータに自分自身の識別子を入れておけばいいのでは?
戻るときはそれを参照して戻ればいいわけで。
10087:02/08/22 10:18
みなさん、ありがとうございます
 >91さん
  C:\j2sdk1.4.0_<version number>\bin のようですね。
 私のはそうすると
  C:\Program files\java soft\jre\j2sdk1.4.0_Beta\bin
になるのかな?
  クラスパスはやめといたほうがいいようですね。

 いずれにしても夜にまた試してみます。
 だめだったらまたどなたか教えてください。よろしくお願いします。

101デフォルトの名無しさん:02/08/22 10:38
テーブルHOGEと1対nの関係にあるテーブルHAGE、
それぞれにアクセスするメソッドをHome,Hageとした時
その両方にアクセスできるクラスを作る時に
直感的な命名をするにはどのような名前をつければいいのでしょうか?
99>>
早速ありがとうございます。
識別子を利用するということは、それに対応した情報を持つ必要
があるということですね。
Beanでその識別子に対応する情報を取得する形になるため、
プロパティファイルとして実装する形になるのでしょうか。
またはハッシュテーブルとか。ハッシュの場合だと永続性を持たせる
ため、セッションオブジェクトなどに持たせるとかしないと
ダメなんでしょうね。
>>101
HAGE.getValue(HOGE[i]);
104デフォルトの名無しさん:02/08/22 10:47
JUnitのSwing版で、
java junit.swingui.TestRunner java.samples.AllTestsと入力しても
Class Not Foundといわれ、テストできません。
クラスパスの設定などは正しいようなのですが・・・
どなたか、正しい設定の方法を教えてください!
10560:02/08/22 10:51
返事がすごーくおそくなりました。
>>53の意味がようやくわかりました。(´Д`)/
IE,NSともにうごきました。
頭悪すぎ>自分
ありがとうございましたぁ。
106101:02/08/22 12:41
>>103
それはメソッドでの取り方のような気もしますが
なるほど、getValueにあたるものをクラス名に入れるのはよいですね。
すばやいレス、ありがとうございました。
>>104
何のクラスがないと言われているのか書かないと…
3年4組です。
>>108
激しくシケタ
>>104
>>1 エラーメッセージや結果などと一緒にお書き下さい。

111デフォルトの名無しさん:02/08/22 14:07
質問があります。
生成直後の要素数0のCollectionsは、一個あたりどのくらいメモリを使うのでしょうか?
教えてください。

このくらい→|  |←このくらい
>>112
つまんない。
そして邪魔だから消えろ!
>>111
java.lang.RuntimeのgcメソッドとfreeMemoryメソッドを使って
自分で調べてみましょう。
>>113
お前もな。質問する態度か?
>>115
プッ
ごめんあさい。
ごめん、ほんとは

このくらい→|   |←このくらい
>>118
つまんない。
そして邪魔だから消えろ!
>>119
死ね。
121デフォルトの名無しさん:02/08/22 15:49
>>111
誰か教えてください。本当に困っています。
>>119
お前もな。質問する態度か?
>>121
おまえは答えてもそう言い続けるんだな。ずっと言い続けていればいい。
本当に困ってるなら、自分でプログラム組んで調べるだろう。
だからネタってことばればれじゃん。
>>113>>119 は、質問している本人だったのか。否定していないし・・・
>>125
アホ丸出しですな。
127デフォルトの名無しさん:02/08/22 16:27
junitの画面上部の・・・ボタンを押すと、
No Test Cases Found
Check that the configured 'TestCollector' is supported on this platform
と出力されます。
>>127
直訳してね。
129デフォルトの名無しさん:02/08/22 16:37
なぜ「直訳」しなきゃならないの?
>>129
エラーの意味わからないんでしょ?
でも127のは「出ます」ってだけの報告だけかも知れないしなぁ
>>131
夢・独り言
http://life.2ch.net/yume/

じゃあこっちだな。
>>128
これでどうでしょう?

No Test Cases Found
試訴は見つけませんでした

Check that the configured 'TestCollector' is supported on this platform
形成された「TestCollector」がこのプラットフォーム上で支援されることをチェックします。
>133
Exciteで翻訳したな?

俺もした
>>133-134
それくらいまともに訳せないとプログラム組めないだろ。

TestCollectorがそのプラットフォームでサポートされてるかチェックしろ。
136デフォルトの名無しさん:02/08/22 16:53
>>130
直訳じゃぁ わかんないと思う。
>>135
おまえはスレを読まないのか?

>>128に従えよ馬鹿
>>137
必死だな低脳。

まともに直訳すれば>>135のような馬鹿がくるし。
>>138が必死に見えるんだけど(わ
もうすこし楽しめると思ったのにな。
142107:02/08/22 17:09
>>127
junit.jarはクラスパスに入ってるみたいですね。READMEに書いてあるこっちの
設定は大丈夫ですか?

Notice: that the tests are not contained in the junit.jar but in the installation directory directly. Therefore make sure that the installation directory is on the class path
>>142
これも直訳でしょうか?
144107:02/08/22 18:11
>>143
えーと、質問した人ですか? 意味がわからないってこと?
えーと、かゆいところはありますか?
14687,89,100:02/08/22 18:52
うまくいきました。c:\jdk1.3をc:\jdk1.3.1に変更でokでした。
またご指導お願いしますです。
>>145
のどちんこ
>>146
おめでとう。これからですね。がんばれ
>>143
翻訳しちゃだめです。直訳しなきゃ

通知:そのテストは、junit.jarだが設置ディレクトリーに直接含まれていません。設置ディレクトリーがクラス・パス上にあることをしたがって確かめてください。
150デフォルトの名無しさん:02/08/22 22:33
Javaはじめようと思って本買ってきた所です。
一つ聞きたいのですが、皆さんは本に書いてあるように
HIDEMARUなどのテキストソフトでソース書いて、いちいちDOS窓開いて
Javacとか書いてんでしょうか。
それとも何か、便利なソフトがあるのでしょうか。
良いのがあれば教えてください。
>>150
はい。hidemaruでjavacです。
昔はマクロ組んで自動化してたけど異様に速度落ちるんでやめました。
>>150
JBuilderとかeclipseとかでこの板のスレ一覧を検索してごらん?
emacsで魔道冥府に踏み込むのも乙かもね。
153150:02/08/22 22:49
>>151-152
ふーむ、HIDEMARUでjavacも現実なんですね。
他のスレも見て何か探してみます。
ありがとう。
>>150
HIDEMARUなら、JAVAマクロがあるですよ。

http://www.vector.co.jp/soft/win95/prog/se158093.html
>>153
HIDEMARUでjavacなんてほとんど学生だけだよ。
156150:02/08/22 22:54
>>154
どもっす。さっそくDLしますた。
>>155
何使ってますか?
viでjavacですがなにか
ワラタ。漢やアンタ。
159150:02/08/22 23:02
ちなみに、一番一般的な環境は、と質問させてください。
やっぱHIDEMARUなのですか。

>>157
viもエディタソフトでしたっけ。
Ctrl+Yでヤンク?
>>159
Notepad for Windows2000

質問に来ておいて人の話聞かない奴はアホだと思う。
秀丸とjavacか。痴呆としか思えんな
162デフォルトの名無しさん:02/08/22 23:05
>>150
何事も基本が大事だから最初こそjavac & hidemaruがいいと思うけど
どうしても面倒だったら
最初はForte使おう!無料だし機能多いし
最終的には処理速度が遅いのとGUIが汚いのがいやで
シンプルなeclipseとかにおちつくだろうが
163150:02/08/22 23:08
なるへそ、ありがとう。
参考にするよ。

とりあえず寝るか。
秀丸とか一般的なテキストエディタって
GUI作りにくいしリファクタリング機能もつきそうもないしな。
キーワードに色つけたりするのが限界だろう。
秀○とかいってダサダサ(藁
166apholist:02/08/23 00:19
シェアでいいならPeggyProがいいかなぁ。
cat > hoge.java << "EOF"
ちっちゃい奴だけダケドモナー

2ch的には、xyzzy+jtcは評判悪いんですか?
仕事のDelphiですらフォーム作る時とヘルプ引く時コンパイルする時以外は
秀丸使う漏れは変態入ってるかもしれん。
ましてやJavaだと・・・
>>168
使い慣れてるエディタそのまま使い続けられるのが魅力。
ところで、実際、エディタ ⇔ DOS窓って不便なんですか?
>>170
便利ですか?
>>171
あまり大きなものを作ったことはないですが、
特に不便は感じません。両方開きっぱなしでも。

大きいプログラムとかになると勝手も違ってくるんですかね?
>>172
ウインドウ切り替えて↑キー数回リターン。

面倒です。
息するのも面倒でしょ?
氏ねよ。
保守。
面倒は少ない方がいいに決まってんじゃん。
氏ねよ。
>>172
eclipseなら、エディタ上でCtrl-Sでコンパイル可能です。全然楽です。

前は、秀丸 + cygwin + ant でやってましたが、eclipseにして効率上がりまくりです
コード補完機能の有無だけでも、だいぶ違います。
>>177
氏ねないしプログラム書かなきゃいかんのでな。
エディタ ⇔ DOS窓は無駄だからいらないけどね。
捨てられるものは捨てるさ。
大学のAO入試用にjavaでプログラムを作ろうと思ってるんですが、
単純なメーラーなら半月で出来ると思いますか?
GUIで送受信のデモが出来るぐらいのを考えてるんですが。
ちなみにjavaはまだ勉強段階です。

参考にしようと思うサイト:http://www4.big.or.jp/~tan-y/programming/javamail.html
>>180
真摯に取り組もうとする姿勢があれば可能。APIむちゃくちゃ
そろってるし。
レスどうもです。
今日はもう寝るんで明日から頑張ってみようと思います!
つーかソノモノズバリの本があったような。
その本買ってきてソースぱくってUIをちょっと変えれば終わりみたいな。
184157:02/08/23 02:54
>>158
割とマジレスだったんだけどなー
ホントは素のviじゃなくてvimだけどね
>>183
木*さんの本でしょ。頭によぎったけどさすがに入試と
聞いちゃーね (´∀`)


emacs+jdeeでC-c C-v C-c
まぁ、確かにHello Worldぐらいなら秀丸とかもでいいな。
使っている開発環境だけでなくそれで作ったものを書かないと
どれが開発しやすいのかわからないな。
188187:02/08/23 04:33
作った人数や周りの人は何を使っているかという情報も必要かもしれない。
189デフォルトの名無しさん:02/08/23 06:54
Windows環境で、一人でシコシコ作るJavaプログラムなら、
メモ帳+DOS窓javac
これ最強♪
>>162
> 最初はForte使おう!無

最初はいらねー
>>180
某K大学だったら、isoとかの宣告にがっつりしたがっておくのが吉か?
>>189
おまえの程度では、それで十分なだけだろうな。
Cでいうところの

int i;
char b[4];
b列に意味のあるデータを入れる(バイナリファイルから読みこむ)
memcpy(&i, b, 4);

として1バイトデータの配列をINTに直す方法を探しています。

海外の掲示板を見たところ、JAVAにはmemcpyに相当するものが無いとのこと
4バイト分のbyte列の中身を、丸々INT型の変数に移すことはできますでしょうか?
わかる方よろしくお願いします
194デフォルトの名無しさん:02/08/23 15:07
上の説明が少しわかりづらい気がするので、改めて。

int型の変数をbyte[4]に変換する方法。またそれの逆を探しています。

Cには型無視のmemcpyがあったのですが、調べたところJAVAには同じものは無いと。
何か方法があれば教えていただきたく思います。よろしくお願いします。
>>194
どうせ4つなんだからシフトとOR活用すれば?
196初心者初級。:02/08/23 15:39
初めまして。
最近Javaを始めたのですが、本やサイトなどを参考に少しずつ頑張っております。

で、質問なんですが。

1: double x;
2:
3:  InputStreamReader kbd = new InputStreamReader(System.in);
4:  BufferedReader number = new new BufferedReader(kbd);
5:
6:   System.out.print("input number => ");
7:   System.out.flush();
8:
9:   try[
10:   省略・・・

というコードを某サイトで見てやってみました。
3行目4行目などは何となく理解出来るのですが、
7行目のSystem.out.flush();という所がいまいち理解できません。
7行目を削ってコンパイルし実行してみた所、一見問題なく動いてしまいました。
これはあってもなくても問題ないという事なんでしょうか?

それと、3行目4行目の箇所ですが、API仕様ドキュメントを見てみた所

BufferedReader number = new BufferedReader(new InputStreamReader(System.in));

という形で・・と例が出てました。
一般的にはこの書き方の方が推奨されるのでしょうか?

長文でしたが、以上質問でした。
よろしくお願いします。
>>196
何か書く度にバッファがあるの。
>>196
不要です。
199三流大学留年生:02/08/23 17:20
学校ではCを学んだのですが、自分でJavaを学びたいと思うのですが
先輩方から見て分かりやすい、という初心者Java講座のようなホームページはありませんでしょうか?
>>199
Cやったんなら自分の好きな本選べばよし。
201180:02/08/23 18:10
>>183>>185
その本をamazonで見つけてしまった。でも出来れば金は使いたくないw
もうダメだ!ってなったら買ってみようかな。

>>191
某K大学がどこなのか分かりませんが自分が受けるのはは某T大学です

とりあえず今日はjavaの基礎っぽい事を勉強した。
オブジェクト指向が良くわからなかった。メーラー作成までは程遠い
>>170
なんと言っても一番の問題はjavacのエラーが標準エラー出力に改悪されたこと。
(いつの話じゃw)
95系のDOS窓はバックスクロール出来ない。標準エラー出力はリダイレクトできない。
標準エラー出力を横取りするプログラム書いてjavac動かせば、なんとか。


家は全部2000だから無問題。
203170:02/08/23 21:40
むぅ、そいつぁやってられんな。
Win9xではないから気づかなかった。
>>202
> なんと言っても一番の問題はjavacのエラーが標準エラー出力に改悪されたこと。

ファイルにも落とせるから同じだと思う。
>>204
>ファイルにも落とせるから

非標準オプション
以下のオプションは、oldjavac だけでサポートされています。新しい javac コンパイラではサポートされていません。
で、確かダメだったと・・・うん「javac: -Xstdout は無効なフラグです。」って出る。(1.3.1)

でも、なんか1.4になったら復活してる。やっぱり不満続出だったんたね。
>>205
「javac -J-Djavac.pipe.output=true 」だとどうなる? 1.3.1って
207デフォルトの名無しさん:02/08/23 23:58
保全あげ
>>196
プラットフォームAPI仕様のうち
java.io.OutputStream::flush()についての記述を読め。
java.io.Writer::flush()やjava.io.BufferedWriter::flush()についても読むと
なおよい。

BufferedWriterのコンストラクタの書き方は、どうでもいいんじゃない?
209デフォルトの名無しさん:02/08/24 02:13
概出かもしれないですが、アプレットを実行させると
「Class sun.appletAppletPanel can not access」
と出てアプレットが表示されないのですが、どうしたらいいのでしょうか?
>>209
Javaコンソールにエラーメッセージが全部表示されているから
まずはそれをチェック。
>>198
詭弁だ
質問です。

ファイルを出力するときのファイル名に、
ファイル保存時の日付を指定したいのですが、どうしたらよいのでしょうか?
>>212
Date クラスからとりだすのじゃダメなの?
>>213
どうしたらよいのでしょうか?
保存時の日付を指定ってのが分からんが…面倒見たってな〜w >> 213
あ、逃げるな(w >>215

たとえばさ、

import java.io.*;
import java.util.Date;

public class DateTest {
public static void main(String[] args) {
Date today = new Date();
System.out.println(today);
}
}


とかしてみ? >>212

>>215 の言う通り、具体的に何したいのかいまいち
よくワカランのでこのくらいのヒントしか書けないや。
あとは Date の API よく読んでみれば大抵の事は
出来ると思うよ。

逃げましたw

>>216
このスレ、マターリな雰囲気でいいやね。
余談だがimport java.io.*は要らないかと。
うへぇ、ゴメン。癖なの。

import java.io.*;

はナシね。つか食事してくる(´∀`)
219215:02/08/24 12:41
行ってら〜。でも癖って…(笑)。
ソケットプログラミングとかしてると付け忘れたりするけどな…。さてコード書こう…欝氏。
220209:02/08/24 12:41
>>210
スマソ。
「load: Sample.java は public ではありません。
あるいは public なコンストラクタを持っていません」
ってメッセージが出てます。ソースはこれなんですが。。。
import java.applet.Applet;
import java.awt.Graphics;

class Sample extends Applet{
public void paint(Graphics g){
g.drawLine(10, 10, 100, 100);}}
>>220
public付けてあげなよ・・・。
222209:02/08/24 12:47
>221
ハズカシー
public classですね。
すっかり忘れてました。
サンクス。
>>216を見て、自分で作れるようでなきゃ、プログラミングはあきらめた方が良い。
224J.J.caca@21:02/08/24 20:02
例外java.lang.NullPointerException.とはなんでしょう?
どう処理すればよいのでしょうか?
マニュアル類をいろいろ当たりましたが結局分かりませんでした。
>>224
各種操作はインスタンスに行ってね。
226J.J.caca@21:02/08/24 20:05
>>225
どういうことですか?
227 :02/08/24 20:24
今日、本屋でなんかJAVAの新しい本が出てた。
ちょっと心そそられた。
>>227
あほたれ。本のタイトルくらい書け。
Javaの新しい本なんぞ玉石混合で腐るほどあるわい。
>>228
情報の意味を知らない子供達・・・
今日、本屋でなんかエッチな本が出てた。
ちょっと心そそられた。
>>230
あほたれ。本のジャンルくらい書け。
新しいエロ本なんぞノーマルからSMまで腐るほどあるわい。
>>231
官能の意味を知らない子供達・・・
>>224
これを読め。
http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/lang/NullPointerException.html
これでわからないようなら、質問する前に本か何かで一から勉強することを
お勧めする。
234デフォルトの名無しさん:02/08/24 23:38
>>233
そういうアンタは分かるのか?
今日、本屋でなんかアイドルの写真集が出てた。
ちょっと心そそられた。
236デフォルトの名無しさん:02/08/25 00:19
JAVAで1つのコンストラクタから別の(引数が異なる)コンストラクタを呼び出すことは可能でしょうか?
>>236
意味不明ですが、

class ABONE
{
ABONE()
{
}

ABONE(int a)
{
ABONE();

}
}

なら全然可能。良くやります。
this(foo, hoge);
あう、あう、あうとおぶ・・・めもりーえ らー
240239:02/08/25 00:51
Exceptionのほかに、Errorもキャッチできるのでしょうか?
Throwable をキャッチしちゃうってのはありでしょうか?
>>240
Errorの子供達ってcatchしても復旧不可能なものって前提じゃなかった?
242236:02/08/25 00:55
>>237
その方法は試したんですが、
cannot resolve symbol
symbol : method ABONE ()

とエラーが起こってしまいました。
243239:02/08/25 01:00
>>241
http://www.y-adagio.com/public/standards/tr_javalang/11.doc.htm#44367
>クラスError及びその標準サブクラスは,通常,普通のプログラムが回復を期待しない例外とする。
ってことっすね

>洗練されたJavaプログラムは,OutOfMemoryErrorを取り扱って,回復を図る設計が,多分,
>オブジェクトの参照を注意深く無効にすることによって,なされることになろう。
ともあるので、根性あるのみっすね。
キャッチできるなら。
244デフォルトの名無しさん:02/08/25 01:49
↓こんな書き方って問題ある?
star[i].x = (int)(Math.random() * scr_width);
star[i].y = (int)(Math.random() * scr_height);
star[i].speed = (int)(Math.random() * 3 + 1);
C++でのconstな引数と同じことするにはどうすれば良いんだ?
気持ち悪くてしょうがない。
>>244
特に問題なし。

>>245
final
247デフォルトの名無しさん:02/08/25 02:18
C++のconstの方が気持ち悪い
>>247
激しく同意。
>>246
final使ってるの見たことないんだが
>> 247 >> 248
あいまいなのって気持ち悪くない?
いい加減死んでくれジャバ
>>251 それは、じゃばこのまねですかじゃば。
>>244
Javaのコードとしては問題は無いと思うが、
やろうとしていることに問題はあるかもしれない。
道義的に。
# 誤解ならスマソ。
>>253
え〜?

Hoge[] a;

とか宣言したときとか。
>>237って正常?
>>255
ついてるレス全部読めば?
// 横レスですが。 >>246
// あれ?おれ、なんか誤解してる?

public class FinalParam {
    static public void foo( final StringBuffer b ) {
        b.append( "var" );
    }
    static void main( String[] arg ) {
        StringBuffer sb = new StringBuffer();
        foo( sb );
        System.out.println( sb );
    }
};
% java FinalParam
var
>>256
素直に「異常」だと言えばいいのに・・・。おまえわかってないだけだろ?
>>258
答えわかってるならわざわざ掲示板で聞くこともあるまい。
260258:02/08/25 08:59
>>259
私は質問してませんが?

勘違いするなよ、2人しかいないわけじゃないんだから。
261デフォルトの名無しさん:02/08/25 08:59
>>259は、掲示板で議論するということができない あほぉ
これがエラー

public class FinalParam {
static public void foo( final StringBuffer b ) {
b = new StringBuffer ()
}
>>262
>>247 レス
264247:02/08/25 09:38
>>262
#include <string.h>
#include <stdio.h>
class FinalParam {
public:
    // compile error!
    void foo( const char* b ) {
        strcat( b , "var" );
    }
};

void main() {
    char s[100]; s[0] = '\0';
    FinalParam* f = new FinalParam();
    f -> foo( s );
    printf( "%s\n", s );
}

// まぁ、別にいいか、どうでも。
>>264
長さ不定の配列(っつかポインタ)相手に strcat するか…
266デフォルトの名無しさん:02/08/25 12:10
javaでcのsizeofみたいに型の大きさを調べるにはどうしたらいいんでしょうか?
プリミティブ型はサイズ決まってるから sizeof不要。
268デフォルトの名無しさん:02/08/25 12:15
なるー。じゃあ普通のクラスの型、じゃなくてインスタンスの大きさはどうすれば?
269デフォルトの名無しさん:02/08/25 12:18

final int A = 1,B = 2, C = 4, D = 8, E = 16, F = 32;

として、例えば

int v = A | C | E;

この v に A, C, E が含まれていることを判断するには


assertTrue( A == ( v & A) );
assertTrue( B != ( v & A) );
assertTrue( C == ( v & C) );


この A == ( v & A) というのがベストということでよろしいですか。
270デフォルトの名無しさん:02/08/25 12:19
Vector のオブジェクトのコレクションに一つづつアクセスするのに
最もパフォーマンスがよいのは

for( int i=0; i<list.size(); i++){
..Object o = list.get(i);
}

ということでよろしいでしょうか。
>>268
問いに対して問い返して悪いが、
   必 要 あ り ま す か ?
>>269
!= 0
>>268
知らない。JVM仕様書とか読むとか。
ちなみに、どーゆーときにインスタンスの大きさ知りたいですか?
>>270
細かいことだが, 条件式で毎回 Vector#size() を読んでるのは効率悪い.

 int size = list.size();

 for (int i = 0 ; i < size ; i++) {
  Object o = list.get(i);
 }

最近のコンパイラだと最適化してくれるのかね。
275デフォルトの名無しさん:02/08/25 12:27
>>271
メモリイメージを直接扱ったら実装依存になってしまうから?
必要ないんですよね。好奇心から質問させてもらいました。逝ってきます。
276デフォルトの名無しさん:02/08/25 12:27
>>272

assertTrue( 0 != ( v & A) );
assertTrue( 0 == ( v & B) );
assertTrue( 0 != ( v & C) );

こうでつか
>>276
だってANDって1 1の時以外0だもん。
2番目がさっきから激しく意味不明だけど。
>>276
assertEquals( A, v & A );
とかのが良くないか?
gc使ってオブジェクトのサイズ(と思われるもの)を調べればいいかも.
正確な値を知ろうと思ったら無理だねぇ…当然実装依存だろうし.
>>279
GCの挙動気にしてたらGCのいみがない罠。
281デフォルトの名無しさん:02/08/25 12:33
>>277

ありがとうございまする
282266:02/08/25 12:35
>>279,280
なるほど。そういう下のことは全部隠しちゃってるのか。
巧いこと作ってあるなー・・・(逆に抜け道を探したくなったりw)
今度こそ逝ってきます。
>>279
リフレクトとか、シリアライズを使うんじゃなかったっけか、そゆの。
# うろ覚え。
とあるオブジェクトの保有してるインスタンス数とかって
どうやって調べればいいんでしょうか?

先に言っとくと、制限きついVMで動かすのでデバッグに必要なんです。
static変数をインクリメントしていくとかしか思い付かないが.

public class Hoge {
  private static int instanceCount = 0;

  public Hoge() {
    instanceCount++;
  }
}
286デフォルトの名無しさん:02/08/25 14:38
・作成したアプレットをNN、IE、appletviewer等で確認
・ソースをいじって再度コンパイル

これを繰り返していると、アプレットの改造が反映されなくなるようです。
(ブラウザを再起動してもダメでした)
キャッシュにたまっている感じなのですが、毎回リフレッシュした状態で
アプレットを動かすにはどうすればいいんでしょうか?
>>286
(゚∀゚)URLのケツに ? をつける
288デフォルトの名無しさん:02/08/25 14:48
JAVAコンソールからクラスローダのキャシュをクリアする。
289デフォルトの名無しさん:02/08/25 14:52
byte hoge[];

hogeに配列を生成したとき、その配列はヒープに確保されるんでしょうか?

また、hogeは配列を指し示すポインタとなりますが、hogeそのものは
スタックに取られるんでしょうか?
>>289
byte[] hoge;
って書いたほうが良いらしい。

えーと、生成されるのはヒープ領域。
hogeは書く場所による。
メソッド内のローカル変数なら スタック。
291289:02/08/25 15:46
>>290
(゚∀゚)サンクスコ
とても助かりました。
292(´・ω・`):02/08/25 16:57
データベースのテーブル名の一覧を取得するには
どうすればよいのでしょうか?

java.sql.DatabaseMetaDataを使えば
なんとかなりそうなんですが・・・
>>292
こんな感じ。これだとビューの名前も見えるけど。
Connection con = DriverManager.getConnection(,,);
DatabasemetaDate dmd = con.getMetaData();
ResultSet rs = dmd.getTables("", "", "%", null);
while(rs.next()){
 System.out.println(rs.getString(3));
}
DatabaseMetaData::getTables()の引数とか、ResultSet::getString()の引数の意味に
ついては、API仕様のjava.sql.DatabaseMetaData::getTables()を参照のこと。
294(`・ω・´):02/08/25 18:04
>>293
すばやいレス、ありがとうございます!!

しかし、アクセスだとサポートされていないのですね・・・
本気でDB環境作るしか・゚・(つД`)・゚・
295デフォルトの名無しさん:02/08/25 20:19
初期化の処理ってinit()とstart()のどちらのメソッドに書くほうがいいですか?
あとゲーム作ってるんですが、appletviewer でアプレット→再起動したときにゲームの動きが変になるんですが・・・どうして?
>>295
Appletの初期化ですよね?
start()は起動時以外にも実行される* ので、
初期化時に一度だけ実行したいのであればinit()に書きましょう。
* stop()が呼び出された後処理が再開される時
>>296
テメー正気か?
スレッドを止めるのにstop()を使うなんてよォ〜〜〜
気が狂ってるとしか思えねェーーぜッ!
298296:02/08/25 20:39
>>297
start()とinit()が使用されるタイミングを説明する事で
それぞれが持つ意味を説明しただけ。
従って、一言も
> スレッドを止めるのにstop()を使
っているとは書いていないが。
// 用途と意味は分けて考えないと、
// 他人が読んで理解しやすい書き方は出来ない。
// これはCでのポインタ濫用の弊害に似ている。
はいはいご高説どーも
>>299
なら最初から書くなよ。
>>271
組み込みの場合はメモリの消費量が見積もれないとキツイぞ
JavaDocって英語と日本語のAPIマニュアル出力したいときどうすんの?
いったんHTMLにして英訳?
>>274
Vector#get()は内部のイテレータを使って順次アクセスするので
>>274のやり方だとかなり効率悪い。正しくは

Iterator iterator = list.iterator();
while(iterator.hasNext()){
  Object o = iter.next();
}
組み込みでVectorを使うのは大変効率が悪いと知った。
ちくしょう。
305名前:02/08/25 22:44
JavaにCのsprintfのような関数は有りますか?
>>305
System.out.print() とか
でもすげー重いよな。ヘビーウェイトコンポーネントってゆーんだっけ?
なんかこいつ起動するだけでメモリはぐちゃぐちゃになるし泣けてくる。
307デフォルトの名無しさん:02/08/25 22:59
【3:37】オマエラ、この人を救ってあげてください!
1 名前:(;´Д`) 02/08/25 09:50 ID:vAQOidcJ
http://www.alpha-net.ne.jp/users2/microsys/livecam35.htm

予定がまっさらじゃネーノ!!!
>>305
Cの"s"printf()相当のものなら、String型に変換して + でつなぎ合わせれば
できます。例えばこう。
int ichi = 1;
Mona m = new Mona();
String msg = m.toString() + "< こんにちは、>>" + ichi + "さん。";
Mona::toString()が"(・∇・)"を返すとすると、msgの中身はこうなります。
"(・∇・)< こんにちは、>>1さん。"
基本データ型は、明示的に書かなくても自動的にString型に変換されます。
性能のためにStringBufferを使うという場合でも、する事は一緒です。
309デフォルトの名無しさん:02/08/25 23:13
310J.J.caca@21 ◆0IGa82/c :02/08/25 23:19
http://www6.plala.or.jp/satellite/avoids/ver16/avoids.java
↑このソースコードをコンパイルした
↓このアプレットがエラーで動かないんですが何故でしょう?
http://www6.plala.or.jp/satellite/avoids/ver16/avoids.html
ローカルでテストすると何故かウマくいきます
311名前:02/08/25 23:19
>>306>>308>>309
ありがとSUN
312kso:02/08/25 23:29
>>310
classファイルがavoids.htmlのあるディレクトリ(フォルダ)にありますか?
>>310
それにしてもひどいソースだな
314J.J.caca@21 ◆0IGa82/c :02/08/25 23:35
>>313
まだ慣れないもんで( ´ー`)y-~~
Java&オブジェクト指向
315J.J.caca@21 ◆0IGa82/c :02/08/25 23:39
>>312
Yes
316kso:02/08/25 23:43
Star.class作ればいいんじゃないですか?
317デフォルトの名無しさん:02/08/25 23:45
>>308
sprintfと聞いて文字列連結を思い浮かべるこの人は変人だ。
318317:02/08/25 23:47
あーごめん。勘違いした。
319J.J.caca@21 ◆0IGa82/c :02/08/25 23:52
>>316
デキタYO
sage
>>386きみ代数しらないでしょ。
321320:02/08/26 00:05
誤爆
322デフォルトの名無しさん:02/08/26 00:54
>>307
よく分からんけど、ライブカメラにワラタ
>>307
Windows専門プログラマには将来ないだろ?
いや、それでもあの予定のなさは魅力かも。
つまり今なら何頼んでも専念してもらえるってことだろ。
325デフォルトの名無しさん:02/08/26 06:10
Cのsprintf()相当という場合は、java.text.MessageFormat#format()だよ。
326デフォルトの名無しさん:02/08/26 06:11
>>317
アンタはsprintfを何につかってるのよ・・・
>>308
>基本データ型は、明示的に書かなくても自動的にString型に変換されます。

基本データ型(プリミティブ型のこと?)以外でも明示する必要はないよ。
すべてのクラスのスーパークラスであるObjectが toString() を
実装している(つまりすべてのクラスは toString() を持つ)ので
暗黙で toString() を呼んでも問題ないから。

例示されている Mona m = new Mona() とかね。 m だけでよい。
>>326
文字列連結は strcat() では?
sprintf() は書式付出力(出力先はバイト配列)
>>328
似たようなこと出来るけどな。

sprintf(s,"%s%s",a,b);
>>329
○sprintf() でも文字列連結できる
 == java.lang.String にして + で連結では sprintf() の限定的な使用法の代用にしかならない。
×sprintf() では文字列連結しかできない
 == java.lang.String にして + で連結で sprintf() の完全な代用になる。
>>314
たばこ吸ってんじゃねーよ 
332デフォルトの名無しさん:02/08/26 13:51
enumねーのな。
自分で数字書くのか? めんどくせーよ・・・

つーか#defineねーのか。
public static final int って定数扱いだっけ?

↑これ、カタカナで書くとなんかの必殺技みたいだな。
「喰らえッ! パブリックスタティック・ファイナルイントォ――ッ!」

よろしく頼むぜブラザー
33356:02/08/26 14:48
非常にレスが遅く申し訳ないですが、教えてくださった方感謝です。

>>59
の方が教えてくれたところで勉強したのですが、いまだに良くわからんです。
ぶっちゃけ”String[] args”を書くとなにができるんですか?
public class Hello{
  public static void main(String args[]){
    System.out.println("Hello");
  }
}
例えばこのプログラムで"String args[]"はなにしてんですか?
本当に馬鹿な質問で申し訳ないのです。
334デフォルトの名無しさん:02/08/26 14:53
Javaでメッセンジャーを作ろうと思ったんですがそんなに難しいですか?
>>333
>ぶっちゃけ”String[] args”を書くとなにができるんですか?
別に何も無い。
Javaの宣言では 型 名前 と書くのが良いとされているが、
String args[] だと、 型情報1 名前 型情報2 となっている。
String[] args だと、 型情報 名前 となっている。

>例えばこのプログラムで"String args[]"はなにしてんですか?
なにもしてないよ。
ただし、無ければ無いで動かないけどね。
>>333
そのプログラムでは何もしていない。
コマンドラインで引数を入力させてそれを利用したいときに使える。
>>334
いくつかすでにあるよ。ググッてみ。参考にすればそんなに
難しくはなかろう。
>333
"String args[]"がどのように使われるか

public class Hello{
  public static void main(String args[]){
    System.out.println("私の名前は" + args[0] + "です。");
  }
}

例えば、こんなコードがあったとしてコンパイル後
java Hello 山田
って打てばプロンプトに
「私の名前は山田です。」
と出る。
同じように
java Hello 鈴木
「私の名前は鈴木です。」

で、なぜ配列かというと複数引数が指定できるから

public class Hello2{
  public static void main(String args[]){
    System.out.println("私の名前は" + args[0] + "です。");
    System.out.println("私の友人の名前は" + args[1] + "です。");
  }
}

上のコードをコンパイルして
java Hello2 山田 鈴木
って打てば
「私の名前は山田です。
 私の友人の名前は鈴木です。」
となる。
>>335
>>336
>>338
ネタにマジレスかっこわるい
340333:02/08/26 16:12
大変良くわかりました!本当にありがとうございます。コマンドラインの引数というものの存在をしらなかったようです。

ただ、もう少しわからないところがあるのですが、プログラム中でコマンドラインの引数を必要としないプログラムであっても、"String args[]"というのが必要になりますよね?
ずばり、main()ときたら、string args[] と書かなくてはいけないのですか?
もし書かなくても良い場合があるとしたらどんな時なのですか?
>>340
メインクラスではないクラス内のmainメソッドとかな。
342デフォルトの名無しさん:02/08/26 16:18
自分でやってみれ。
main()とか
main(int i)とか
main(String[] params)とか。
34356:02/08/26 16:26
>>340
誰?
344名前:02/08/26 16:29
C言語の場合
sprintf(str,"%04d",12);

と記述するところ、Javaでは
DecimalFormat df = new DecimalFormat("0000");
str = df.format(12);

と記述するしかないの?
変数が多くなると、各々に対応するFormatを作るのは面倒だなぁ
>>344
じゃ MessageFormat つかへ。
346名前:02/08/26 17:22
>>345
ありがとさん
使えそうです

文字列を「30文字左詰、余りはスペース」というフォーマットに変換するにはどうするの?
そして>>344は自分では何一つ考えなくなった。
その方が幸せだからだ。
彼にとって思考は苦痛そのものであり
ただ従うことだけが喜びだったからだ。
そしてjava嫌いになる。
>>348
早めにプログラマであり続けることを放棄すべきだね。
java始めようと思うのですが、
helloworldを表示し終えたレベルの初心者は、
まず、何を作れるようになると良いでしょうか。

曖昧質問で申し訳ないのですが、おながいします。
Hello,worldと表示するオブジェクトを作れ
それができたらとりあえず1秒に1回Hello,Worldと表示するスレッドを起こせ。
353350:02/08/26 21:47
はい、今>>351のを成功させますた。
>>352はサパーリ分かりません。うう…。
スレッドって何だろう…タイマーってどうやんだろう…。
調べます…。ありがとうでした。
しまった。>>352の前にもう一段階あった。

無限ループで1秒に1回Hello,wolrdと表示しろ

だった。
355デフォルトの名無しさん:02/08/27 00:06
>>340
JVMの、ユーザースレッド起動シーケンスの仕様です。
なんでってきかれても、そういう仕様なので、諦めて
ください。

JVM起動

JVMがユーザースレッドをいっこ作成

JVM起動時の第一引数のクラスをリフレクションで探す。

そのクラスの「public static void main(String[])」の
シグネチャのメソッドを、リフレクションで探す。

見つかったら、JVM起動時第2引数以降を引数としてそのメソッ
ドをコールする。

リフレクションで探す時に、
「main(String[])」「main()」「main(String)」などは
「ベツの」メソッドとして認識するので、「main(String[])」
以外のメインがあっても、JVMからは呼ばれないよ。
>>353
スレッドわからないようじゃ 初心者にもなっていないな。
本かって、隅から隅まで覚えろ。
>>356
スレッドがわかったら初心者を脱出して初級者だろ。
初心者と初級者ってそんなに違うのか…
いや、それほど違わんと言いたいのか… ?
大体わかるってどこまでのことなんだ?
すみからすみまでわかって初級者なのか?
360common君:02/08/27 13:07
ジャヴァハウス以外に利用しやすいMLってないですか?
>>360
まるでジャヴァハウスが利用しやすいみたいな書き方をするな。
あそこは偉そうにしたい人達専用の隔離MLなんだよ。
>>361
ここと一緒なんですね。
>>357
初心者を読めばとりあえず「スレッドって何だろう」という質問は出ないはず。
>>361
あそこの人たちが偉そうにみえるんか?
最近メールの流量減ってるよね、じゃばはうす
366デフォルトの名無しさん:02/08/27 18:21
フリーのJava用プロファイラでなにかおすすめのものがありましたら、
教えていただけませんでしょうか。

C等で使われるprofの様な感じで、メソッドの呼び出し回数と全体の処理に
占めるメソッドの処理時間の割合がわかれば十分です。
おいら -Xrunhprof で間に合わせてるけどなぁ。やっぱ
これじゃ役不足なの? >>366
368限界:02/08/27 18:53
文字列を送るプログラム作ろうとしたんですが・・・
クライアントの方にnullしか表示されないのです。
どこがおかしいんでしょう・・

import java.io.*;
import java.net.*;

public class server
{
public static void main(String[] args)
{
try
{
ServerSocket socket = new ServerSocket(8765);

Socket insocket = socket.accept();

BufferedWriter out = new BufferedWriter(new OutputStreamWriter(insocket.getOutputStream()));

out.write("テスト");

insocket.close();

}
catch(Exception e){}
}
}

import java.net.*;
import java.io.*;

class client
{
public static void main(String args[])throws Exception
{
Socket socket = new Socket("127.0.0.1",8765);

BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));

String suto = in.readLine();
System.out.println(suto);

socket.close();
}
}
369366:02/08/27 19:10
367さん、ありがとうございます。
javaのオプションでプロファイラがあったとは気づいていませんでした。
(恥ずかしい)

現在、これで十分かどうかを検討していますが、よい感触です。
どーもでした。
>> 368
out.flush();
insocket.close();
371デフォルトの名無しさん:02/08/27 23:01
JAVAを始めたいんですが、何か初心者にいい書籍がありましたら教えてください。
お願いします。
372デフォルトの名無しさん:02/08/27 23:04
>>371
速習の道

1.独習Java
2.コアAPIドキュメント
3.作って作って作り倒す
373デフォルトの名無しさん:02/08/27 23:09
>>372
このレビューを見ると独習Java買えないです・・・
http://www.amazon.co.jp/exec/obidos/ASIN/4798102784/ref=sr_aps_b_/250-3822462-6053857
374320:02/08/27 23:18
>>373(▼▼メ)ワラタ
>>373
カスタマーレヴュー書いた人?
376限界:02/08/27 23:20
>>370
できたー
どうもです。flush()メソッドとやらを調べてみます
>374
386って誰?
378デフォルトの名無しさん:02/08/27 23:28
>>373
初心者本で覚えるのは、言語仕様とAPIの基本的な使い方までで十分。
その程度なら、平積みの本買えばどれでも同じ。
初心者本にそれ以上を期待している奴は、プログラミングを舐めて
いる勘違いバカ。どの言語使ったところで大成しない。
379デフォルトの名無しさん:02/08/28 00:00
double型の値を四捨五入したいです。

↓こんなのつくりました。
/**
* 数値を四捨五入。
* 使い方:
* ・scaleに0を指定すると、指定された値を小数点以下第一位で
*  四捨五入し、整数として返します。
* ・scaleに1を指定すると、指定された値を小数点以下第二位で
*  四捨五入し、小数点第一位までの値として返します。
* @param val 数値
* @param scale 返却する値のスケール
* @return 結果の値
*/
public static String roundNumber(double val, int scale) {
 BigDecimal bd = new BigDecimal(val);
 bd = bd.setScale(scale, BigDecimal.ROUND_HALF_UP);
 return bd;
}

これだと、
                 期待値 実行結果
roundNumber(9.994, 2) → 9.99 : 9.99
roundNumber(9.995, 2) → 10.00 : 9.99
roundNumber(9.996, 2) → 10.00 : 10.00

になり、五捨六入になってしまいます(9.995の場合、10.00がほしいのに9.99が返ってきてしまう)

どうしてこうなるかというと、BigDecimalのROUND_HALF_UPは
「丸める桁の数字が、両隣に近い数字に丸める」からであり、
9.995 の 5 に着目すると、左(小数第二位)の 9 と 右(小数第四位)の0では
9のほうが近いため、9.99 に丸められるからだと考えています。
(自分でも何を言っているのかよくわからん)
ttp://www.applitips.com/java/kiso/roundBigDecimal.htm

理屈はどうあれ、これだと一部の値でバグになるので使えないのですが、
どうやったらjavaで四捨五入できるのでしょうか?
・javaが標準で持っているクラスライブラリで出来る?
・自分で作らないとだめ?

どなたかきちんと動く四捨五入メソッドを教えてください。
>>379
(double)((int)(val*1000)+5)/10
>>373
このレビュー書いたやつは独習Javaを読んでないな
あれはプログラミングの本じゃなくて読み物なんだよ。
382368:02/08/28 01:03
flush()メソッドを調べてもフラッシュするとしか
書いてないんですが一体どういったときにこのメソッドは使われるんでしょうか。
383kso:02/08/28 01:07
>>382溜まってるものを抜いてすっきりしたいとき
トイレの、お水流すぼたんに Flush ってかいてあるだろ?
つまり、そゆこと。
たまってるの全部、流しちゃうのさ。
>>382
書き込みバッファ(ライトバックキャッシュみたいなもん)
にたまっているデータを実際のデバイスに書き出す。

あーあ。ケコーンかぁ...
387kso:02/08/28 01:21
>>384しょうがねぇやつだ俺と結婚しようか。>>386仲人よろしく
>>386
>320曰く君は代数をしらない
389デフォルトの名無しさん:02/08/28 01:33
Javaでゲームつくってるんだけどガベコレもっと安定させる方法ないっすか?
System.gc()はむちゃくちゃ遅いので別の方法で・・
今作ってるゲーム遅い時で1秒くらいとまっちゃって、、Observerバンバンつかってるんだけど
やっぱJavaでゲームつくるならオブジェクト指向せずできるだけメモリ生成/解放をしない設計にしないと駄目かなぁ
何かいい方法あったら教えて下さい
390デフォルトの名無しさん:02/08/28 01:56
>>389
インスタンスは、ゲームにとってひまな時に必要なだけに生成/プール
して、忙しい間は使いまわすべし。
ゲームなんかだと特に描画関係で、使用する瞬間にでかいオブジェクト
作りまくっているかもしれんが、それはやめましょう。
優先戦略はオブジェクト指向云々と乖離しないよ。単に実装方針が変
わるだけで。

あと、世代別GC実装のVM使ってるなら、中途半端に寿命の長いインス
タンスは作らないという手もあるね。GC対象にするのは、なるたけGC
の負荷にならない短寿命のオブジェクトだけにしよう。(短寿命のオブ
ジェクトも、作らないに越したことはないけどね)
391389とは別人:02/08/28 02:34
こんな感じですか。

// 弾。現在位置と方向を持つ。
public class Bullet{
 private Dimension position;
 private Dimension direction;

 public Bullet(Dimension posision, Dimension direction){
  this.position = new Dimension(posision);
  this.direction = direction;
 }
 //以下略
}

public class BulletFactory{
 Bullet[] bulletPool;
 Bullet[] usedPool;

 public BulletFactory(int size){
  bulletPool = new Bullet[size]; //未使用の弾
  usedPool = new Bullet[size]; //使用中の弾
  for(int i = 0; i < size; i++){
   bulletPool[i] = new Bullet();
  }
 }

 public Bullet createBullet(Dimension position, Dimension direction){
  return getUsableBullet();
  //bulletPoolから一つ取り出して、それをusedPoolに加えた後で返す。
  //面倒くさいので略
 }
}
392390:02/08/28 02:38
あとねー、java.lang.ref.PhantomReferenceを使って、
GCしてほしくないタイミングでGCされうるオブジェクトを、
ヒマになるまで遅らせることができるよ。
忙しいゲームでどれだけ効果があるかはわからんけど。
インスタンスのキャッシュしたりとか、
いろいろ工夫する余地はあるらしけど、
そもそもjava自体が、一瞬止まることも許さないタイプの
ゲームには向いてないんじゃないの
394390:02/08/28 02:47
>>391
フリーオブジェクトプールは、普通にリンクリストでいいと思う
けどね。使う時は(おそらくFIFOで)コレクションの終端点の
つけはずししかしないんだから、十分高速でしょう。
getterでプールから外して、使い終わったら返せばいいさね。

配列は追加削除の管理がメンドイと思うなあ。
・・・まあ場合によるんだろうけど。

あれ?本筋から離れた話かな?
395390:02/08/28 02:53
>>393
そうですね。

javaでそういったゲームをどうしてもやりたいときは、スケ
ジューラスレッドは常にSystem.currentTimeMillis()の返り値
を監視するようにして、予定より時間間隔があく場合は、その間
にするはずだった描画を間引きするといいと思うよ。

ゲームで、アニメーションを数コマ間引いたところで問題ないで
しょ?あとは、世代別GCでメジャーGCの起動がヘンな時に起きな
いようなチューニングすればいいさ。あれがおきると、1〜2秒と
か平気で吹っ飛ぶし。
>>371
下記の本は絶対に買ってはいけない。間違いが多い上に質問すると「サポート外です。」
と言われる。「間違ってる」というと無反応。第2版なのに間違いだらけっていうのは、
出版社や著者がまわりからなにも聞こうとしないからでしょう。

http://www.amazon.co.jp/exec/obidos/ASIN/4797319062/250-3295600-2489829
>>373
このレビューは参考になりましたか? で笑っちゃった。
>>389
> System.gc()はむちゃくちゃ遅いので別の方法で・・

どう遅くて、どう障害があるのかを書いてもらえませんか?
399371:02/08/28 09:48
371です。ありがとうございました。

>>375
どういう意味ですか?
400371:02/08/28 09:52
>>396
レビューを見るとすごくいい本だと書いてあるんですが実際はそうなんですか・・・
下の本は、どうなんでしょうか?ぜひ教えてください。
http://www.amazon.co.jp/exec/obidos/ASIN/4797308036/qid=1030495861/sr=1-6/ref=sr_1_2_6/250-3822462-6053857
401デフォルトの名無しさん:02/08/28 13:29
JTableのカラムにJPasswordFieldを入れて
パスワードを'*'でエコー表示させたいです。

ですが、DefaultTableModelに渡した初期データが
エコーされず、素の状態で表示されてしまいます。

DefaultCellEditorにはJPasswordFieldを受け取る
コンストラクタはないのは承知しているのですが、
JPass..をJTextField見なしで試してみました。

環境はwin2k jdk1.3.1_03 です。
単純化したソースをあげます。

参考になるURLやヒントでも結構です、どうかよろしくお願いします。

// 以下ソース
import javax.swing.*;
import javax.swing.table.*;

public class TableTest{
public TableTest(){
JFrame frame = new JFrame("TableTest2");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

Object[] columnname = new Object[]{
"moge","hage"
};
Object[][] datas = new Object[][]{
{ "hogehoge","000" },
{ "fugafuga","111" },
};
DefaultTableModel dbmodel = new DefaultTableModel( datas, columnname );
JTable table = new JTable( dbmodel );

TableColumn col = table.getColumnModel().getColumn(0);
JPasswordField jpf = new JPasswordField();
col.setCellEditor(new DefaultCellEditor(jpf));

frame.getContentPane().add(new JScrollPane(table));
frame.pack();
frame.setVisible(true);
}

public static void main(String[] args){
new TableTest();
}

}
// ソースここまで
402デフォルトの名無しさん:02/08/28 13:35
セルの表示はTableCellRendererでやってます。
403デフォルトの名無しさん:02/08/28 13:35
セルの表示はTableCellRendererでやってます。
>>400結構いい本だよ。
>>400
これは良い本です。けど、私は下巻しか持ってない。

http://www.amazon.co.jp/exec/obidos/ASIN/4797310103/ref=pd_sim_dp_1/250-3295600-2489829
406デフォルトの名無しさん:02/08/28 14:32
HashMapで登録したデータをiteratorで全件取得する場合、
putした順番は保証されないのでしょうか?
>>405
私も下巻だけ持ってる。
java特有の仕組みを知りたきゃ下巻だけで十分だな。
内容は浅いので手始めに読むにはお勧めだが、読みごたえがないかも
408デフォルトの名無しさん:02/08/28 15:05
ちなみに2冊目は何を読みましたか?
409!405:02/08/28 15:19
4冊目あたりに「Effective Java」を読んだ。
中・上級者は必読の書だし脱初心者を目指すヤシも読むべきだ。
薄いし特に難しいことが書いてあるってわけでないのに価値は高い。
410401:02/08/28 15:28
>>402
ヒントどうもありがとうございました。

>>401 に追加したものを簡略化しておきます。

public class TableTest2{
public TableTest2(){
...
TableColumn col = table.getColumnModel().getColumn(0);
JPasswordField jpf = new JPasswordField();
col.setCellEditor(new DefaultCellEditor(jpf));
// 追加ここから
MyCellRenderer myRenderer = new MyCellRenderer();
col.setCellRenderer( myRenderer );
// 追加ここまで
...
}

public class MyCellRenderer extends DefaultTableCellRenderer{
public Component getTableCellRendererComponent(
JTable table, Object value, boolean isSelected,
boolean hasFocus, int row, int column ){
setValue("*****"); // "*****"とエコー表示される
return this;
}
}
}
マシン固有の情報を取得する方法はあるのでしょうか?
412デフォルトの名無しさん:02/08/28 18:27
age
>>411
System#getProperties()
415390:02/08/28 20:50
>>406
ハッシュ法って何やってるか知ってる?
Object#hashCode()の戻り値を、HashMap内部の参照保持位置のインデックス
計算につかってるんだよ。

だから、Iteratorが返す順序は、HashMapに登録したエントリのキーオブジェ
クトのhashCode()が返す値の順序に、大体なってるはず。(実際には、コアAPI
のHashMapの実装は、"シノニム発生時は、その位置から一番近くのあいている
場所にしまう"なので、hasCode()が返す値が同じモノを何度も入れると、妙な
順序になるけどね)

入れた順序を保障したいなら、キー値のListを別途作っておきましょう。
416390=アンチJavaHouse:02/08/28 20:54
>>410
getTableCellRendererComponentの第2引数valueが、本来そこに
書き込まれるはずのデータだから、それ使うといいよ。

StringBuffer buf = new StringBuffer();
for(int i = 0 ; value!=null && i < value.toString().length();i++)
buf.append('*');
setValue(buf.toString());

とか。
417デフォルトの名無しさん:02/08/28 22:43
Javaを一人で始める時、お奨めの本はありますか?
「一歩先行くインターネット Java入門」「はじめてのJava」「Javaクイックリファレンス」が
>>3の質問と回答集のページで紹介されているのですが、
その他に最近でたものやよいものがあれば教えて下さい。
既出だったらすいません。
>>417
独習Java 一冊で十分だよ。
BlackBookはどうなんですか?
C++も独習C++ですか?
421デフォルトの名無しさん:02/08/28 22:57
cloneの使い方を教えてください
>>421
自分の臓器等が悪くなったときのスペア。
423406:02/08/28 23:00
>>415
ありがとう。
いろいろやってみました。順番は保たれませんね。
>>417
>>418

少し上を読もう。
426デフォルトの名無しさん:02/08/28 23:16
>>421
foo.clone();
427417:02/08/29 00:01
>>424
失礼しました・・。ありがとうございます。
1.1が一番いい。シンプルでいい。
429368・・:02/08/29 02:54
以前のサーバからクライアントへの文字列送信はflush()メソッド
で解決したので次はクライアントからも文字列送信できるように同じようにやったら・・
プログラムがどちらも待機中に。両方向への送信はこんな簡潔プログラムでは無理なんでしょうか。

import java.io.*;
import java.net.*;

public class server
{
public static void main(String[] args)
{
try
{
ServerSocket socket = new ServerSocket(8765);

Socket insocket = socket.accept();

BufferedWriter out = new BufferedWriter(new OutputStreamWriter(insocket.getOutputStream()));
BufferedReader in1 = new BufferedReader(new InputStreamReader(insocket.getInputStream()));

out.write("テスト");

out.flush();

String suto2 = in1.readLine();
System.out.println(suto2);
insocket.close();

}
catch(Exception e){}
}
}


import java.net.*;
import java.io.*;

class client
{
public static void main(String args[])throws Exception
{
Socket socket = new Socket("127.0.0.1",8765);

BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
BufferedWriter out1 = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));

String suto = in.readLine();
System.out.println(suto);

out1.write("テスト2");
out1.flush();

socket.close();
}
}
readLine()つかてるからだよ。
サーバーのほうのout.write("テスト");だとまだ行が終わってない。
ここを ("てすと\n") とかにすればうまくいくんでない??
>>429
読みにくいよソースが・・・
432エラー?クラスパス?:02/08/29 09:08
前回PATHでお世話になったものです。
 表示で
Exception in thread "main"java.lang.NoClassDefFoundError:プログラム名
 とでますが単純なミス?クラスパスの設定?でしょうか。
よろしくお願いします(本にはこんなのまったく載ってないんです)
>>411
それやったけど、たいした情報取得できないね。。。
MACアドレスを取得する方法はないのかなぁ。
434 :02/08/29 09:52
>432
ここから上に向かって読み返せ
既出だ
435401:02/08/29 10:33
>>416さん
書いて頂いたソースの方がキレイなので参考にさせていただきますね。
丁寧なレスに感謝します。
436デフォルトの名無しさん:02/08/29 10:36
Appletのお絵描きソフトのコードでわからないところがあります。

mousePressedとmouseDraggedに使われていたのですが、
java.awt.event.InputEventのconsume()というのはどういう処理を行うのでしょうか?
調べたところ
「このイベントを消費し、作成側のソースがデフォルトの方法でイベントを処理しないようにします。」
とあったのですが、意味がよくわかりません。
どなたかわかりやすく説明していただけませんでしょうか?
>>436
親に渡さないんだろ。イベントを。
438名無しデフォ:02/08/29 11:50
某所でhelloworldがうまくいかんという質問
があったのだが、やはりネタなんだろうな。
しかもhelloworldじゃなくて微妙に名前変えてあったし。
>>438
だからなに?しかもageちゃうし

下記みてごらん。じゃぁね。

http://www.google.com/search?q=halloworld&hl=ja&lr=lang_ja
440デフォルトの名無しさん:02/08/29 13:45
javaのフレームワークで「ストラット」?なるものがあるらしいのですが
一体何なのでしょうか。
>>437
436ではありませんが、親とはなんでしょうか?
442 :02/08/29 14:40
>436
私もわからなかったのですが
ttp://gimlay.org/~javafaq/S065.html
上のQ-29に答えがありました。
443429:02/08/29 16:22
ありがとう。プログラム読みやすいように段差つけます。

そのとおりサーバの方を\nで改行したらいけました。
それでクライアントの方には\nをつけなくていいのかなと思い、
つけてみたところ結果は同じになりました。
クライアントには何故\nをつけなくてもできるんでしょうか
ソケットクローズするからじゃん?
いっぺんクローズしないで無間ループにでも
いれて実験してみそ。(プログラム終了しちゃうと
だめだからな)
445432:02/08/29 18:11
↑をみましたがわかりません。せめてなにが原因なのか教えてください。
4か5に答えがあるんですか?
んー。細かく言うと、readLine()メソッドというのは名の
とうり、一行とりだして返すメソッドなわけ。だから、改行文字
(\rとか\nとか\r\nとか)がくるまでは、制御をかえさない、
つまり待機状態になるのさ。だから、\nを出力するとうまく
いったわけ。クライアントは\nを出力しなくてもすぐあとに
socket.close()するから、そのときにEOFが出力される
(というかサーバーから見て入力される)んだよ。
readLine()はEOFも行の終端と見るから、それでうまくいく。
どうでさう?
447初心者ですみません:02/08/29 18:50
Javaでコンピューター・シミュレーションしようとしてる馬鹿ですが、
計算結果を一発でグラフ化しようとするならどうするのが一番楽ですか?
448デフォルトの名無しさん:02/08/29 18:52
gnuplotのデータ形式で結果を吐く。
449432 445:02/08/29 19:15
一応、91さんのをみてユーザーとシステムの変更をしたんですが
これでOKですか? これがクラスパス?
450初心者ですみません:02/08/29 19:16
いま、gnuplotをダウンロードしたんですがファイルを開くアプリケーション
を選んでくださいといわれたんですが、どうしたらいいか分かりません。
ちなみにOSはwindowsです。ほんとに初心者ですみません。
初心者かなんだかしらんが、
とりえずgoogleをおすすめする。
上から10件ぐらいよめばだいたいわかるはず。
452429:02/08/29 19:58
>>444,446
んー理解しました。さらに改良加えていってみます。
453初心者ですみません:02/08/29 20:48
なんとかgnuplot解凍できました。お騒がせしました。
(´-`).。oO(解凍って。。。道は遠く険しい)
455.:02/08/29 21:41
456390:02/08/29 21:41
>>433
そんなものとってどうするの?Winのユーザー管理の真似でもするの?ヒィィ

>>440
Jakarta-Apacheのプロジェクトの一つ「Struts」。
Servlet/JSPベースでWebアプリケーション開発をする際に、ロジック開発と
ビュー開発の責任分離をきっちりやれるようにしたフレームワーク。

・・・JSPベースでフレームワークという発想は時代遅れだと思うんだよね。
(Strutsを使ったところで、結局は)JSPってJSPから何でもできてしまうので、
C++みたいな存在なんだよね。

Webデザイナーと呼ばれるような人種にクライアントビューの開発を任せるような仕
組みにするためには、そもそも、"ビューから何でもできる"などという自由度をゆ
るさないほうがいい。
(JSP自体は便利だから、Webアプリを全部自分で作るような規模の開発なら、JSPを
思い切り活用すべきだと思うけど)
ビューは、Servlet2.3ベースでXSLTとか其の辺使って、制約の厳しい環境(どうや
ってもgetしかできないとか)で作るべきだと思うねえ。
ビューが必要以上にサーバサイドのコンテキストの操作などできないようにした方
が、あとあと管理が楽だと思うのよ・・・"責任分担とかそういう意識のない半端技術
オタク馬鹿が調子こいてとんでもないJSPソース書く"ことがあるんだよ〜・・・コマッタ
モンダよ〜・・・

どんなもんでしょか。
457デフォルトの名無しさん:02/08/29 22:46
>http://www.atmarkit.co.jp/fjava/rensai/j2eeprfm04/j2eeprfm04_4.html

で、CMPが良い結果だしてるのですが、この記事って、信頼できると思いますか?
本当のところは、どうなの?
BMPでないとだめ?

これからJ2EE入れようと思っているところなので、実態が分かりません。
使っている方の感想を、ぜひ聞かせて下さい。
458390:02/08/29 22:57
>>457
どうでもいいけど、この記事誤字脱字多すぎないか?それだけで書
いている人間の力量を疑うよね。「ほんとにわかってかいてるの?」
って。

EJB2.0って何事かシランケド、EntityBeanの実装をコンテナがやるって
いうのは、コンテナのチューニング依存だねえ。この類の調査は、大
体自分の都合のいいサンプル集めてることが多いからねえ・・・

おいらも経験ある。「うさんくさ〜い」ミドルウェアの開発会社に
出向してた時、その宣伝の為にやる試験が、客観的な試験法をとっ
てなかったんだよね。オマエラロクデナシだなあ、と正直思ったよ。

まあ、評価版とって自分で試すベシでしょう。
459デフォルトの名無しさん :02/08/29 23:06
j2sdkフォルダの中にあるsrc.zipは解凍したほうがいいんでしょうか。
よろしくお願いします。既出だったらすいません……。
460390:02/08/29 23:11
>>459
コアAPIのソースを固めてあるだけだよ。APIのソースコードが読みたい
と思ったら解凍するもよし、適当なインスペクタ使って直接読んでもいい。

コンパイルしたclassファイルはJREのrt.jarの方に入ってて、ラン
タイムはそっちをみに行くので、実行する為に解凍する必要なんかないよ。
461459:02/08/29 23:18
>>460
詳細なレスありがとうございます。
検索した結果「必要なら解凍」としか書いてなかったので気になってました。
実際に解凍してソースを見てみることにします。
本当にありがとうございました。
462デフォルトの名無しさん:02/08/29 23:18
特に解凍しなくていいです。
ソースファイルを解読しない限りは。
demo ソースとタメを張る一大情報源。
必要にならないのに読もうと思うのは、百科事典を通読しようと思うのと同義だが。
464100 432:02/08/30 09:07
いろいろいじっても
表示で
Exception in thread "main"java.lang.NoClassDefFoundError:プログラム名
 とでます。
システム環境変数はいじってはいけなかったのでしょうか?
どうしたらいいのかヒントください。
よろしくお願いします。
>>464
コンパイルしてないとか
mainがmianになってるとか
ファイル名違うとか
>>464
一番の問題はFAQであることかな?
467100 432:02/08/30 09:24
コンパイルしてませんでした もうちょっとがんばってみます
468デフォルトの名無しさん:02/08/30 09:57
>>465
細かいコトだが, mainがmianになってたらNoSuchMethodExceptionじゃないのか?

>>465
パスとクラスパスがないときの典型的なエラーだと記憶。
470100 432:02/08/30 10:00
続き  超初心者でスマソ
コンパイルってなに?
メモ帳で「***.java」で保存→DOS窓で java プログラム名 実行でしたが
おかしいですか?
 ボーランドJビルダー7ではJAVAプログラム本体がみえていたので
デバッグとかできてましたがJDKはないようなのですが。
(Jビルダーでも実行の結果がわからずにあきらめてました)
>>470
入門書読めや。金出す気無いなら自分で編み出せ。それが出来ないならやめてしまえ。
>>471
やめることにします
JavaからVBでつくったDLLのメソッドをコールできますか?
VCでつくったJNI対応DLL経由ならできるみたいですが、
VBでつくったDLLを直接loadLibrary()等で使える方法が
あればご教示ください。
>>473
VBでActiveXコンポーネントを作れれば
Javaから呼び出せるらしい。
やった事無いからできたらレポートキボンヌ
http://java.sun.com/products/plugin/1.3/ja/activex.faq.html
>>461
> 実際に解凍してソースを見てみることにします。

って言ってるのに、

>>462
> 特に解凍しなくていいです。
> ソースファイルを解読しない限りは。

ってどういうこと?


>>463
> 必要にならないのに読もうと思うのは、百科事典を通読しようと思うのと同義だが。

ってどういうこと?


実際に解凍してソースを見たい人にはそうさせればいいじゃん。解凍しなくても読め
るだろ?って話なら別だけど。
>>473 あと、こんなのみつけた
http://www.hcn.zaq.ne.jp/no-ji/reseach/990926.htm
477100 432:02/08/30 11:28
本を読み直しました。 javac実施
OKでした。
471さん472さんまた、よろしくです。
478デフォルトの名無しさん:02/08/30 11:35
以下のソースがあります。

public void nest(String a) {

 System.out.println(a.hashCode()); ・・・(A)

 for(int i=0; i<2; i++) {

  System.out.println(a.hashCode()); ・・・(B)

  for(int j=0; j<2; j++) {

   nest(a + "b"); ・・・(C)

  }
 }
}

普通に(A)→(B)と処理された場合は(A)と(B)は同値なんですが、
(C)→(A)→(B)と処理された場合は(A)と(B)の値が異なります。

(A)→(B)→(C)→(A)→(B)として処理された場合のhashCode例:
100→100→200→300→100(前(A)(B)と同値)

どうしてなのでしょうか?
教えてください。
479サブレ:02/08/30 11:40
Tomcat4.0.4でFilterを使おうと思ってるんですが
<filter-mapping>/hoge.jhtml</filter-mapping>
<filter-mapping>/test/*</filter-mapping>
<filter-mapping>*.jhtml</filter-mapping>
のようなマッピングだと目的のフィルターが動くのに
<filter-mapping>/test/*.jhtml</filter-mapping>
<filter-mapping>test*.jhtml</filter-mapping>
などでは動きません。
なんでですか?
*は最初か最後にしかつかえない?

あと
<filter-mapping>test*.jhtml</filter-mapping>
だと404NotFoundになってしまいます。
これはサーブレットの仕様?
480サブレ:02/08/30 11:42
<filter-mapping>は<filter-mapping><url-pattern>ね。
481サブレ:02/08/30 12:02
test*でも動かなかった。
拡張子の指定か、ディレクトリの指定しかできないっていうこと?
>>478 aの指す中身がその時々で違うから。
System.out.println(a.hashCode() + ":" + a);
ってやってみ。
483478:02/08/30 12:20
>>482
説明不足であったようです。

(C)→(A)→(B)と行った場合に(A)(B)間ではaに対して何も行っていないのに
hashCodeが(A)と(B)で異なることに疑問を感じています。

*.>>478のソースはこの現象が起きているものと異なり要約して載せています.
484440:02/08/30 12:39
>>455
ありがとう!
485473:02/08/30 13:13
>>474,476さん

ありがとうございます。
現在JComを使って実験中です。
#JComをインストールしてJavaファイルをコンパイルしたところ「パッケージ
 jp.ne.so_net.ga2.no_ji.jcom は存在しません。」とかいうエラーが出て
 コンパイルが通らなくて今はまっていますが・・・

もう少ししたら結果を報告します。
486デフォルトの名無しさん:02/08/30 13:17
Javaのアプリを起動したら突然めにメニューの所が
文字化けしてしまいまいした。
普段ファイルとかを表示している所が ”□□□”と
なってしまいました。
直す方法はありませんでしょうか?

SDKとJREの再インストは試みたのですが、駄目でした。
487482:02/08/30 13:32
>>483 いちおう少しだけ責任感じたのでやってみた。
ためしてみたけど再現しないぞ?
public class nest
{
    public static void main( String[] args ){
        nest n = new nest();
        n.nest("a");
    }

    public void nest(String a) {
        if( a.length() > 3 ) return;

        System.out.println("(A)hash="+a.hashCode()+":"+a);// ・・・(A)

        for(int i=0; i<2; i++) {

            System.out.println("(B)hash="+a.hashCode()+":"+a);// ・・・(B)

            for(int j=0; j<2; j++) {

                nest(a + "b");// ・・・(C)

            }
        }
    }
}
488482:02/08/30 13:35
「487の結果」
$ java.exe nest
(A)hash=97:a
(B)hash=97:a
(A)hash=3105:ab
(B)hash=3105:ab
(A)hash=96353:abb
(B)hash=96353:abb
(B)hash=96353:abb
(A)hash=96353:abb
(B)hash=96353:abb
(B)hash=96353:abb
(B)hash=3105:ab
(A)hash=96353:abb
(B)hash=96353:abb
(B)hash=96353:abb
(A)hash=96353:abb
(B)hash=96353:abb
(B)hash=96353:abb
(A)hash=3105:ab
(B)hash=3105:ab
(A)hash=96353:abb
(B)hash=96353:abb
(B)hash=96353:abb
(A)hash=96353:abb
(B)hash=96353:abb
(B)hash=96353:abb

以下略
>>486
日本語のメニューが文字化けするなら、フォントが欧文フォント
(Arialとか)になっているのかも知れません。
490478:02/08/30 14:06
>>482さん、例が良くなかったようです。
余分なものを取り除いてしまったために再現しないソースとなっていました。
こちらでもう一度原因を追求し、わからない場合にもう一度再現できるソースを添付したいと思います。
お騒がせして申し訳ございませんでした。
491486:02/08/30 14:16
>>489
ありがとうございます。
フォントの変え方ってどうやるのでしょうか?

あともう少し詳しく書きますと。

Forteは文字化けしていないのですが、

DoJaが文字化けしてしまいます。

492デフォルトの名無しさん:02/08/30 20:10
javadocについて質問です。
Windows上でEUCのソースファイルを「javadoc -encoding EUC-JP /path/to/*.java」と
エンコーディングを指定してjavadocコマンドを実行します。
生成されたHTMLは、javadoc自体が作り出す文字列、例えば「すべての実装インタフェース」とか
「階層ツリー」、「非推奨」などは確かにEUCになっています。が、肝心の
ソースにあったjavadoc用コメントは文字化けした状態です。

javadocって、そういうものなの?
>>492
はい。
494492:02/08/30 20:29
>>493
そうなんだぁ。残念な作りだ。
>>492-494
1.4.0のjavadocの-encodingが正常ではないのはknown bug.
もう直っているはずだから、rcかbetaを試してみたら。
http://java.sun.com/j2se/1.4.1/ja/changes.html#javadoc
http://developer.java.sun.com/developer/bugParade/bugs/4661481.html
// Test.java
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class Test extends Applet {
  MyButton button = new MyButton();
  public void init() {
    button.init();
  }
  public void paint(Graphics g) {}
}
class MyButton extends Applet {
  private Button button1;
  public void init() {
    button1 = new Button("hoge");
    add(button1);
  }
}

ボタンのクラスを作りたいんですが、これではボタンが表示されません。
どうすれば表示されるか教えていただければ幸いです。
教えてクンで申し訳ありません。
497デフォルトの名無しさん:02/08/30 22:25
>>496
勉強してクラスの使い方覚えなさい。それがまず必要。
498デフォルトの名無しさん:02/08/30 23:02
Javaの設計の質問なのですが・・?
リスナオブジェクトが外部から消される可能性があるとき
addしたListenerListからリスナオブジェクトをremoveしないと参照がのこってリスナオブジェクトがガベージコレクションされないですよね?

public class Class1 extends addXXXListener付きクラス{
  :
  addXXXListener(new XXXListener());
  :
}

まぁこんな感じでXXXListenerへ通知するのですが、たとえばXXXListenerが、ウインドウみたいやつで「X」ボタンが押されたときremoveXXXListener(XXXListener)したいのですが、、どうやって実現するのが一般的ですか?
XXXListenerからClass1へ破棄の通知をおくって、Class1でremoveしようと考えているのですが、なんだか複雑っぽくて・・もっとスマートな方法があれば教えて欲しいのですが

499デフォルトの名無しさん:02/08/30 23:50
スレッドをJVM上で動かした後、
プロセスを見ると1つのスレッドが複数のプロセスから成っているような気がします。
これはOSによるところが大きいと思いますが。
情報処理の勉強をしていた時に、
プロセスの細かいのがスレッド
と書いてあった気がするのですが、これに反しませんか?
それとも、メモリを共有しているからスレッドと呼んでいるだけなのでしょうか。
>>499
Linuxだとそう見える。そんだけ。
おれもさいしょはびびったよ。
なんで8つもあるんだーって
501デフォルトの名無しさん:02/08/31 00:05
見えるって言うのはどういうことでしょう。
実際にプロセス複数走っていますよね。
コンテキストスイッチが重いからスレッドという考えが出たと思うのですが、
JavaのスレッドがOSのプロセスをまたがるなら、重いですよね。
ひょっとしてJavaのスレッドとOSレベルのスレッドは
レイヤーが違うので正確には別物なのでしょうか。
>>498
変数に参照を持てば?
503:02/08/31 01:06
jdk1.3ですが、class.zip等はどこにあるのでしょうか?
classpathを設定していないのにコンパイルできます。
>>501
カーネルスレッドをサポートしていないOSだと、JavaのThreadは
プロセスになるはずです。でないとマルチCPUでスレッドの処理を
並列で走らせることができません。元々Unixはプロセスが軽いので
カーネルスレッドはあまりサポートされていなかったんですが、Linux
はまだサポートしていないんですか?
505デフォルトの名無しさん:02/08/31 01:41
DOS窓でjavacコマンドを使う時に、エラーが多いと
最初のエラーの部分が見えなくなってしまうのですが、
エラー表示を1ページずつ表示する事は出来ないんでしょうか?
>>503
class.zipってなんですか? rt.jarかtools.jarのこと?
それともOracle thin driverのclassesXX.zipのこと?
507デフォルトの名無しさん:02/08/31 01:44
>>505
コンパイルコマンド | more
ってやってみたら?
>>507
それでできるわけなかろーが。
509:02/08/31 01:59
>>503

classesxx.zipというのはオラクルだけなのですか。
JDBCとかですよね?
勘違いしていました。
JAVAで使われるクラスというのはtools.jarにあるのですか?
開いてみればわかるのでしょうか?
510デフォルトの名無しさん:02/08/31 02:04
>>506 Java1.0.xとかのときはrt.jarじゃなくてclasses.zipに
標準APIが入っていたんだよ。で、昔は標準APIが含まれている
zipファイルも環境変数CLASSPATHに入れなきゃいけなかったから、
Java1.1.xやJava2で行われた仕様の変更に503は戸惑っているんだと思う。
>>503 クラスの探し方については
http://java.sun.com/j2se/1.4/ja/docs/ja/tooldocs/findingclasses.html
が詳しい。
>>509
tools.jarに入ってるのはコンパイルに必要なクラスで、rt.jarに
入っているのがJ2SEの標準クラスライブラリです。通常はこの二つは
クラスパスに入れなくてもコンパイルできます。
>>508
すまん。思いつきで書いてしまった。
まず、DOS窓のプロパティで画面バッファのサイズが変えられないか
試したほうがいいね。
>>505 >>507
-Xstdout ってオプションがある。
ttp://java.sun.com/j2se/1.4/ja/docs/ja/tooldocs/win32/javac.html#options
が詳しい。
514:02/08/31 02:25
>510
ありがとうございます。
助かりました。
>>512
コマンドプロンプトならともかく DOS 窓(MS-DOS プロンプト)では無理だろう。

>>513
JDK のバージョンによって使えたり使えなかったりするのが嫌なところ。
516デフォルトの名無しさん:02/08/31 03:03
>>504
カーネルスレッドあるけど、じゃばが対応してないだけだっちゃ。
517デフォルトの名無しさん:02/08/31 03:10
>>505
男はだまってXP買え!男かどうかしらんけど
>>517
何Mhzぐらいがいいですか?
>>518
2000MHzくらい
520デフォルトの名無しさん:02/08/31 04:59
if(hoge)HOGEclass hoge = new HOGEclass(arg1,arg2);
って書いたら文じゃないでつ。といわれたので
if(hoge){
HOGEclass hoge = new HOGEclass(arg1,arg2);
}
と書いたらとおりました。最初のやつってダメなんですか?独習ジャヴァにはOKっぽく書いてあるんですが。
>>520
書けても意味ないわな。HOGEclass hogeのスコープを考えてみるべし
522デフォルトの名無しさん:02/08/31 05:35
>>521
スコープでつか。下の文では{}の中だけで終わるってことですか?
他のアプリではこれでうまくいったんだけどな〜
HOGEclass hoge
での変数hogeが何処からも誰からも参照できないから、変数宣言しても意味がない、ってこと。
if (true) new HOGEclass();
は可能。

どうして出来ない?と言われたら、「そういう言語仕様だから」ってことになるけど、
もし出来ても上のとおり何の意味も無いから、十分妥当な仕様です。
「java 言語仕様」でググれ。

他のアプリってのが何かわからないけど、Javaでは文法的に間違ってるからコンパイルできないはず。
コンパイル出来たのならそれはコンパイラのバグ。
>>523>>520 の上のコードのことね。
下のコードは
if(true){
HOGEclass hoge = new HOGEclass(arg1,arg2);
System.out.println(hoge.toString());
}
とか、複数の文を入れることが出来るから全く問題ない。
特定のファイルがシンボリックリンクかどうかを知る方法ってありますか?
FileクラスのAPIドキュメントとか見ても見当たらないのですが….
526デフォルトの名無しさん:02/08/31 09:49
Runtime で exec("ls -l") でもやっとけ
>>501
Linuxのスレッドがそういうもんなんだよ
528デフォルトの名無しさん:02/08/31 12:33
Win2000+Cygwinを使用しています。
CygWin上のPostgresにWindowsの
Javaプログラムからアクセスしたいのですが、

Class.forName("org.postgresql.Driver");
db = DriverManager.getConnection("jdbc:postgres://localhost:5432/template1","user","");
と実行すると

Java.sql.SQLExeption:No Suitable Driver
エラーが出てしまいます。いろいろ調べた結果
URLの指定が間違っているのではと思われたのですが
URL指定はjdbc:postgres://localhost:5432/template1
ではまずいのでしょうか?

やった手順としては
postgresをJavaoptionをつけてコンパイル、インストールし、
できたjdbc-7.1-1.3.jarを任意の位置にコピーしCLASSPATHを通す。
です。
なにかご存知の方教えて下さい
>>513
初心者は javac -Xstdout aaaaa.java ってやってしまうことがある。(w
530デフォルトの名無しさん:02/08/31 13:04
PHPで echo md5("2ちゃんねる"); を実行すると
8d20a34c5914543407ca5b715e9be5d3
こんな結果が返ってきます。

Javaでこのようなmd5値を取り出すにはどのようにしたら
よいのでしょうか? 以下のように書いてはみたのですが、
文字化けしたようなものが出力されてしまいます。

MessageDigest md = MessageDigest.getInstance("MD5");
md.update("2ちゃんねる");
byte[] b =md.digest();
String result = new String(b);
System.out.println(result);
>>530
で、文字コードはエンコードデコードで統一してるの?
>>530
で、文字コードはエンコーデートで統一してるの?
>>530 一般論だけど、出力されたものが「文字化けみたい」
って感じたら、16進表現で出力して何が出ているか確認しようね。
で、今度の場合はMD5計算されたbyte[]をそのままString
に入れたら、意味不明な文字列が出力されるのは当然でしょ。
MessageDigest.toString()とかなかったっけ?
534530:02/08/31 13:21
>>531
んっ? 文字コードが関係あるの?

ソースの
md.update("2ちゃんねる"); の部分は
md.update("2ちゃんねる".getBytes()); でした。
535530:02/08/31 13:42
byte[] b = md.digest();
for (int i = 0; i < b.length; i++) {
  System.out.print(Integer.toHexString(b[i]) + " ");
}

とすると、次のような出力が得られました。

ffffffb5 ffffffb5 0 fffffff8 ffffffb5 6f 6f e ffffffca 4e ffffffba ffffffc6 ffffffff ffffffd1 ffffffdf ffffffc1

各パートの後ろ二桁だけ取ってこれればいい感じなのかな。
自分でも何を実行しているのかよく分かってないんだけど・・・
そもそも自分が何をしていているのかわかっているのかと。
>>536
2ちゃんねる
>>530
MD5ってバイト列に対して行われるから、getBytes()するときに
どの文字コードでバイト列を取り出すかで結果が違うんだよ。
ためしにEUC-JPで取り出したら、530のPHPでの結果と一致した。
ということは、PHPを動かした環境とJavaを動かした環境の
デフォルトエンコーディングが違うということ。質問するときには
環境くらいちゃんと書く。
あと、byteは符号付だからIntegerに変換するときは事前に0xFFと
AND計算しておくのを忘れずに。
539530:02/08/31 16:15
>>538
「事前に0xFFとAND計算しておく」部分は何のことやら
理解していないのですが、言われたとおりに次のような
コードを書いてみたら、PHPのときと同じ結果を出力
できました。感謝です。

md.update("2ちゃんねる".getBytes("EUC-JP"));
byte[] b = md.digest();
for (int i = 0; i < b.length; i++) {
  int a = 0xff & b[i];
  System.out.print(Integer.toHexString(a));
}
540デフォルトの名無しさん:02/08/31 16:39
コンパイルしようとすると『パッケージ・・・が存在しません』
等というエラーが発生するのですが、何が悪いのかさっぱり
分かりません。助けて下さい。
>>540
ネタはネタスレで。
>>538
Stringからとってきたbyteを、Oxffとビット積とる
必要あるの?ほんとに?
>>542
性格悪いな。
>>543
ウワアアン!ヒドーイ!
いやみとかじゃなくて、よくわからなかっただけ
なんだけど・・・
>>544
上位がfでマスクされてるんだからそのままでは本来の文字コードとは別ってことでは?
だから0x00000〜にするためにAND取れって話だと思った。
>>542
まず文字列から採ってきたbyteを16進表示するんじゃなくて、文字列を
MD5にかけて出てきたbyte値を16進で出力する話であるってのを理解しる。
>>544 文字列の16進表記にしたって、us-asciiみたいに7bitで収まる
ことが保証されていないcharsetなら、型変換の際にANDとるでしょ。
>>545
ボケてました。チャント読め、俺。(スマヌ
549でふぉるとん:02/08/31 21:19
ちょっと聞いてよ。
Webでさぁ、メニューとかフッターとか、共通の部分あるやん。
そのなかにJSPとかサーブレットとか、各ページが入る感じの。
その共通部分もJSPでやりたいと思ったら、なにか方法ある?
JSPの中にJSPを入れたい、内側のJSPではそれを気にしたくない、という。
必ずJSPの最初と最後にこれを記述してください、みたいなことをやりたくないので。

フィルター使って
  chain.doFilter(request, responseWrapper);
  request.setAttribute("contents",responseWrapper.toString());

  RequestDispatcher rd = request.getRequestDispatcher("/common.jsp");
  rd.forward(request, response);
みたいなこと書けばいいやと思ってたら、むりだった。

みんなこんなとき どうしてる?
JAVAをやっているんですが、ソフトは
Borland JBuilderとVisual J++とどっちがいいですかね?
>>550
お好きに。
>>549
そこだけ関数にする。
ヘッダフッタコピペさせるよりは確実で汎用性も増す。
553さざえ:02/08/31 21:35
>>550
やってるのはJavaではなく、JAVAなのだね。なるほど。
今から始めるとかならトモカク、やってるというのにVisualJ++を使おうと思うかねぇ。

Forte(現SunONE Studio)の方が、無料版の制限がゆるくていい。
554でふぉるとん:02/08/31 21:39
>>552
で、その「関数」でJSP使うにはどうすればいいですか?
555(´・ω・`):02/08/31 21:44
>>549
JSPのinculdeじゃだめれすか?
>>555
タイプミスった・・

<jsp:include page="header.jsp" />
↑これじゃダメなのかと・・・言いたかったんだ(´・ω・‘) ショボーン
557549:02/08/31 22:04
>>555
includeディレクティブだと、includeするファイルが変更されたときに、確実に表示に反映させる方法が思いつかないし、めんどくさそうなので却下ですね。

includeアクションって、呼び出し側で設定したページ属性なんかを読み込めるのかな?
あ、読み込めそうだ。試してみよう。
それなら使えそう。
やるとしたら、サーブレットでRequestDispacherのinclude呼び出してからfowardかな。

でも、この方法だと、外枠JSPは2分割になってしまうですね。
558549:02/08/31 22:37
こんな感じのフィルターつくりました。解決。
外枠JSPを2分割する必要もなく。

  chain.doFilter(request, responseWrapper);

  request.setAttribute("contents",responseWrapper.toString());
  responseWrapper.reset();

  RequestDispatcher rd = request.getRequestDispatcher("/common.jsp");
  rd.include(request, responseWrapper);
  
  PrintWriter out = response.getWriter();
  out.write(responseWrapper.toString());
559デフォルトの名無しさん:02/08/31 22:37
>>550
当然Visual J#.NETでしょう!!!
>>550
どっちもいらん
561デフォルトの名無しさん:02/08/31 23:09
初心者が Java を一から勉強するのに一番の IDE はなんなんでしょ?
Eclipse で OK なんですか?
ちなみに酔ってます
>>561
JBuilderが直感的でいいぞ。説明書なしですぐ使える。

ほかのは高機能かもしれないけどすぐに使いこなすのは難しい。
>>562
そうですか?思い通りにコンポーネント配置できなくて数分で死にましたが。
>>563
コンポーネント配置? ああアプレットとか作るときに使うやつ?
ごめん。CUIのアプリケーションしか作ったこと無いからGUIのやつわかんね。
>>564
なんじゃそら。
で、

>JBuilderが直感的でいいぞ。説明書なしですぐ使える。
>ほかのは高機能かもしれないけどすぐに使いこなすのは難しい。

かいな。
C++Builderと比べてどうだい?

Learning版とかあるのかな。
あれば買ってみるのだが。
>>566
JBuilder Personalはただじゃなかったっけ?
Swingが軽く動くマシンパワーがあれば、JBuilderもいいんだろうね。
ウチじゃ重くていやになるので、使わない。Eclipseツカッテマス。

GUIビルダってアホなソースはくので嫌いです。
568564:02/09/01 03:18
>>565
なんかおかしなこと書いた? うーん。
昔、秀丸とjavacだけじゃそろそろ面倒だなと思って
JBuilderを使ってみたんだけど移行が楽だったよ。
プロジェクトの作成からコーディングに入るところまで
何もマニュアル読まずに出来るのってすごいと思わない?
569デフォルトの名無しさん:02/09/01 04:07
xyzzy + JavaTinyConsole使ってる人います?
meadow + JDEEは敷居が高そうなのでこっちで勉強してます。
xyzzy + JavaTinyConsoleつかってたけど
結局 xyzzy + cygwin になっている。
571デフォルトの名無しさん:02/09/01 06:24
JAVA超初心者です
あるServletのソースをコンパイルすると

MyServ.java: メソッド getAttributeNames() はinterface javax.servlet.http.HttpServletRequestで見つかりません

というエラーが出ます。googleしてみた結果どうやらServlet.jarのバージョン違いではと思っているのですが、どうもうまくいきません。

しかしどうもわからないのがclasspathでservlet.jarを指定しなくても
importに失敗する旨がでないのです
これはどういうことなのでしょうか?
環境変数以外にデフォルトで読みに行くパスなどがあるのでしょうか?
(そうしないとobjectから派生している基本っぽいクラスも読めない気がするが・・・・)

572デフォルトの名無しさん:02/09/01 06:39
文字列"ABCD"を" ABCD"というように、
文字列の最大サイズを指定、右詰というような変換を行う方法を教えてください
573J2EE:02/09/01 06:41
サーブレット関連で教えて欲しいことがあります。

RequestDispatcher#forward() メソッドと
RequestDispatcher#include() メソッドの
違いがよく分からないのです。

サーブレットやBeanで何らかの処理を行って、
RequestやSessionにその結果を結びつけて、
JSPでそれを表示させる。

こんなことをやりたいときは、forward使っても
include使っても結果は同じじゃない?

実際に使い分けるときって、どういう場合ですか?

574520:02/09/01 08:35
>>523
すいませ〜ん。ちょっと書き方がわるかったですね。
if(hoge)のhogeとHOGEclass hogeのhogeは別物です。だから下のように書くべきでしたね。
if(hoge)HOGEclass hogehoge = new HOGEclass(arg1,arg2);

if(hoge){
HOGEclass hogehoge = new HOGEclass(arg1,arg2);
}
hogeは何か評価文です。変数に限定して言っているわけではありません。
で、上は文じゃないでつよ〜と言われるのに、下は亨というのは何故かということを聞きたかったのです。
>>572
宿題?なら適当な関数つくればいいんでないの?
たとえば、

private String paddingToRight (int size, String str) {
 StringBuffer strbuf = new StringBuffer ();
 for (int num=0; num < size - str.length() ; num++) {
  strbuf.insert(0," ");
 }
 strbuf.append(str);
 return strbuf.toString();
}

みたいな。効率とかしらんけど。
576デフォルトの名無しさん:02/09/01 10:33
縮小変換について質問でs。
class WideningConversion {
public static void main(String args[]) {
byte b;
int i = 137;
b = (byte)i;
System.out.print(b);
}
}
これは、変数iの下位8ビットが変数bに代入されて(本曰く)、出力は2です。
下位8ビットとはどういうことでしょうか?
8ビットまでしか代入できないということじゃないみたいですけど・・・
教えて。
577デフォルトの名無しさん:02/09/01 10:34
Servlet実行時にDebug用のメッセージをSystem.out.println
してるんだけどこれはどうやって見えるの?
普通に実行してもNosuchMethodError : mainエラーになっちゃうし
ブラウザで実行してもメッセージが見れないっす
>>576
それを実行しても-119としかでないが。
579576:02/09/01 11:08
>>578すいません。
int = 258;
でした。
>>579
>int = 258;
Javaの文法的に破綻してるぞ。
>>577
ブラウザのコンソール
582576:02/09/01 11:13
>>580
すいません。
int i = 258;
でした。(TT)
Javaは、int は32bit で byte は8bitと決められている。
代入時、iの上位の24bitは捨てられ、下位8bitがそのままbに入る。
すなわち、
i = 0...0100000010 (258)
b = xxxxxx00000010 (2)
となる。
584デフォルトの名無しさん:02/09/01 11:22
>>576
まず、137をbyteにキャスト(縮小変換?)しても、-119にしかならない。
2にしたいのなら、258でやってみよう。
ここからは、貴方が2進数を知っているという前提で、説明するので、
知らないのならば、勉強して下さい。

int型は4バイト(32ビット)、byte型は1バイト(8ビット)
・int型に258を代入
00000000 00000000 00000001 00000010
・byte型に258をキャスト、バイト型は8ビットなので、258の
下位ビット(右側)、8つだけを取得する。
00000010

結果byte型の258は2になる。
585576:02/09/01 11:23
うむ、解決しました。
ビットはその数値までってことでループするんですよね。
byteは127(intも127)の次は-128(intは128)なんですね。
そうでした。ごめんちゃい。でも本だって例をだしてくれたっていいのに。
文章だけなんだもん。
586デフォルトの名無しさん:02/09/01 11:24
>>585
うるせーばか(笑)
587576:02/09/01 11:24
ありがとう!!感動した(自分が理解できたのに)。
>>585
2の補数表現とか、知らないの?
>>588
NOTとって+1
590デフォルトの名無しさん:02/09/01 11:38
>>572
MessageFormatterクラスを参照の事。
でも書式が難しいので、575みたく適当な関数作った方が楽といえば楽かもしれない。
591576:02/09/01 11:38
>>588 >>589
なんですか、それは?
例えば

FFFFFFFFは-1
593576:02/09/01 11:54
なんかようやく>>583 >>584が理解できました。
2進数って勉強すればすぐ普通の数字を2進数に変えられるようになりますか?
>>593
普通の数字なんだよ・・・。進数の勉強全然出来てないじゃん・・・。
595576:02/09/01 11:57
これからやるか検討中です。
>>593
まぁ、基本情報技術者試験の範囲ぐらい勉強しとけ。
597デフォルトの名無しさん:02/09/01 11:59
>>595
検討中とかじゃなくて、プログラマなら、絶対に知らなくちゃダメだから。
598576:02/09/01 11:59
長い時間ありがとう。きっとすごいジャヴァーになってみせるよ。
>>593
片手で0から31まで数えられるようになればかなり便利。
(ひとつの指を1ビットとしてさ)
Javaと言うのはまず最初に出来合いのクラスがあって、
それをユーザが被せていくだけなのでツマラン。
正直そう思う。カタルシスを感じない言語だ。
>>600
で、何を作ったことがある?
602577:02/09/01 12:13
>581
>ブラウザのコンソール

とはなんですか?ひょっとしてIEじゃだめなんですか?
>>602
ブラウザのコンソールで見れるのは Applet の System.out.print() です。
Servlet の場合は Servlet コンテナのマニュアルを参照のこと。
604577:02/09/01 12:22
>603
なるほど
レスありがとうございます。
IDEなどでサーブレットを作って実行すると
ブラウザとコンソールが同時に立ち上がりますよね?
ああいうふうにコマンドラインからできれば理想なんです。
Servletコンテナマニュアルを見てみます。
605577:02/09/01 15:31
Tomcatのマニュアルを見てみました。とりあえず
サーブレットでSystem.out.printlnされたものはアパッチに送られずに
Tomcat上のコンソールで出力される?ようなもののようですね。(概念として)
Tomcatの出力をコンソールで見ればいい気がするのですが、
Tomcatのマニュアル自体には開発工程については書いてありますが、
デバグについにはいつか書きたいなあというようなことはあるのですが、
見つけられませんでした。
606デフォルトの名無しさん:02/09/01 16:16
Component の D&D についてわかりやすいページ教えてケロ
>>563
レイアウト null にして使え。
608デフォルトの名無しさん:02/09/01 16:39
>>608
そこはわかりにくいページです。
>>605
Tomcat自身をデバッガでアタッチして、試験したいサーブレットに
ブレークポイントでも張っとけば?
TomcatのJVMの上で動いてんだから、可能でしょ?
611572:02/09/01 18:05
>>575>>590
ありがとうございます

MessageFormatで、数字、日付時刻の書式設定はわかるのですが、
文字列の書式設定の方法がわかりません
もし分かるのならば、教えてもらえませんか?
>>611
わけわかんないこというな。文字列の書式設定用クラスだろ・・・
590>>611
さっきの書き込みでも少し触れましたが、MessageFormatの
書式はやはり572には難しすぎると思います。
自分で簡単な関数作って対処した方が良いと思います。
614デフォルトの名無しさん:02/09/01 21:20
>>573
forwardとincludeの違い
大雑把に言うと ServletOutputStream の扱いが違う。

forward:
forward()の処理終了後、Streamはclose状態。

include:
include()の処理終了後、Streamはopen状態。

forward()すると、新たにrequest.getWrriter()といったことができない。
615初心者:02/09/01 22:01
すごーくくだらない質問かもしれませんけど、
Java仮想マシンって何?
インタプリタと何が違うの?
Java仮想マシンってのは
心の純粋なひとの脳内だけで作動する最先端マシンです
ヘッドセットをつけて口頭で指示するだけで作動します
PerlもPerl仮想マシンで動いてますしN88BASICもN88BASIC仮想マシンで動いています。
>>617
微妙に違う気がする
ポケコンBASICも仮想マシンで動いてます。
>>618
命令セットが異常に高級だが数が限りなく少ないVM
VMもインタプリタもやってることは同じだからな...
622煽り技術総合研究所:02/09/01 22:47
>>615
なぜ「Java仮想マシン」で検索しなかったのか、今後の参考のために
教えてください。
Windows2000をSP3にしたら、プログラムのアクセスと既定の設定
っつうのがスタートメニューにできたんだけど、そのなかに、
JAVAのVMを選ぶというのがある。
MicrosoftVirtualMachineというのが選択肢あるのだが、現在の
JAVAのVirtualMachineを使うという選択肢との違いを教えて。
VirtualMachineを作った会社が違う。

□□□□□□終了□□□□□□
>>623
MSのインターフェイスって最悪だな。何言ってるか全然通じない...
SunのVM使うかMSのVM使うかの違いだろ?
難しいことは無いだろ。
627.:02/09/02 01:27
>>605
Java House ML の、以下の記事から始まるスレッドが参考になりませんか?
ttp://java-house.jp/ml/archive/j-h-b/051025.html#body
628605:02/09/02 01:35
>627
ありがとうございます!
まさにドンピシャでした。
ウインドウズの管理ツールでTomcatサーバを止め
コマンドラインからC:\tomcat\bin\tomcat run
したらうまく行くようになりました
629ジャヴァン:02/09/02 03:46
JavaでLZHファイルを解凍するにはどうしたらいいですか?
exec
>>629
アルゴリズム資料を引っ張り出してソフトwp作る
>>629
なんとかする。
>>629
ずいぶん前に Java で LHA 作ってるっていってた奴がいたけど…
あれって どーなったんだろーねー?
634デフォルトの名無しさん:02/09/02 04:54
class sakura extends Applet{
 sakura(URL url){
   img getImage(url,"sakura.gif");
  ・・・}
 }
}

class moge extends Applet{
 init(){
  hoge hoge1(getDocumentBase());
 }
}

上のように別のクラスからsakura.gifを読み込もうとすると、NullExceptionとか言われます。
init()内で直接getImageメソッドを使えば読み込めるのは確認したのですが、他のクラスから
読み込むにはどうすればいいのでしょうか??
635634:02/09/02 04:58
訂正

誤:hoge hoge1(getDocumentBase());

正:Sakura my_sakura = new Sakura(getDocumentBase());
636523:02/09/02 09:51
>>574
>で、上は文じゃないでつよ〜と言われるのに、下は亨というのは何故かということを聞きたかったのです。

(1) if (true) Hoge hoge = new Hoge();
(2) if (true) { Hoge hoge = new Hoge(); }

if(...) の直後には文(Statement)しか置けない。
ブロック(Block、{..}で囲まれた部分)は文。Block is Statement.
Hoge hoge = new Hoge(); は局所変数宣言文 (LocalVariableDeclarationStatement)で、
 これは文(Statement)ではない。LocalVariableDeclarationStatement is not Statement.
だから、Javaの文法的に(1)はNGで(2)はOK.

もっと言うと「hoge = new Hoge();」も文(Statement)なので、
(3) if (true) hoge = new Hoge();
はOK.

Java言語規定(Java Language Specification)の14.ブロック及び文(Block and Statements)を読むべし。
http://java.sun.com/docs/books/jls/second_edition/html/statements.doc.html
http://www.y-adagio.com/public/standards/tr_javalang/14.doc.htm
日本語のは古いので注意
637デフォルトの名無しさん:02/09/02 11:05
>>629 googleとかVectorとかで漁るといくつかライブラリが見つかる。
638 :02/09/02 11:29
>634
自分も最近javaをはじめたのでよくわからないんだけど
アプレットからアプレットを作る事に意味があるの?
>>638
>アプレットからアプレットを作る
そんなコードなの?あれ。
640デフォルトの名無しさん:02/09/02 12:09
>>634
最新のJDKならデフォルトで
NullPointerExceptionの出力にに発生したソースの行数もあるはずだからもっかい確かめてみ。

ソースUPするならちゃんと再現する最小限のソースにして
UPしれよ。
だいたい下記の1行コンパイル通らないだろう。
>   img getImage(url,"sakura.gif");

あと、一応忠告しとくけど
アプレットはブラウザ等が勝手にロード、初期化&実行するもんであって
自分で書くコードでAppletクラスやその派生クラスをnewする必要はないよ。
(ブラウザやアプレットビューワみたいなものを作るのでなければね)
641デフォルトの名無しさん:02/09/02 16:04
一年前の同曜日の日付を取得したいのですが
どのようにすればいいのですか?

プログラムを書いて教えてください。
お願いします。
>>641
>一年前の同曜日の日付
を完全に定義してください。
643641:02/09/02 16:59
>>642
その日付の取得の仕方がわかりません。
calendar.set で、年/月/第何週の何曜日 を指定し、日を取得!
なんてこと出来ないですよね。
この「第何週目の何曜日が何日か?」
を取得したいのですが、教えてもらえないでしょうか。
644 :02/09/02 17:14
1年後の同曜日の日付はもとにした日の+1
うるう年なら+2
うるう年をどうやってもとめるかなんてことはぐぐればいくらでも出てくると思われ
645641:02/09/02 17:28
>>644
ありがとうございました!
マジで助かりました!!!
こんな簡単なことだったとは・・・逝ってきます。
>>644
逆じゃねーか?
647 :02/09/02 17:36
うおおお
すまん逆だよ
1年”前”です
ごめん
648641:02/09/02 17:48
>>646>>647
すばやい対応ありがとうございます。
マイナスにすればいいのか!と思っちゃいました。
・・・逝ってきます。
649634:02/09/02 19:51
>>634
>>640

画像ファイルをinit()内で読み込まずに、
他のクラスをnewした時にコンストラクタ内で読み込む事は出来ないのかな、と思ったもので。
650ゆゆ:02/09/02 21:14
フォーム内容の受け取りというのはCGIでよくある話ですが、そのなかで動的な
フォームを
作りたいと思っています。

リストA : リストB : リストC : テキストBOX : ラジオボタン
赤     キャベツ
みどり    トマト
黄色    ピーマン
       にんじん
      ほうれん草

上のようにフォーム内の5個の項目について送信したいのですが、
リストAで「緑」が選ばれたら自動的にリストB内には「ピーマン・ほうれん草」
しか
選択できないようにしたいのです。

リストA : リストB : リストC : テキストBOX : ラジオボタン

について10くらい同時に選べるようにするにはすごいJsになる?
というか、JS難しい。似たようなサンプルソースないですか?
>>650
板違い。Web板イケ。
652ゆゆ:02/09/02 21:55
>>651

すいません。。
>>641
644とやってることは同じなんだけどさ、うるう年を判定しなくて良い方法として
現在の日付から -364日目を日付加算関数で算出するという方法もあるよ。
364 ってのは 7 の倍数だから同じ曜日に落ち着くというわけだ。
「通常の年は +1日する」 というのは 365日 - 364 = 1
「うるう年は +2日する」 というのは 366日 - 364 = 2
654初心者丸出し:02/09/03 02:10
いきなり質問なのですが、よろしくお願いします。

1.「サブクラス」に「スーパークラス」を代入するのは、なぜいけないのでしょうか?

2.「スーパークラス」に「サブクラス」を代入するのは、なぜ大丈夫なのでしょうか?

3.「スーパークラス型」を「サブクラス型」にキャストするのは、なぜ「危険な型変換」と言われるのでしょうか?

以上3点です。今日の夜までPCを触れない環境になりますので、夜にレスさせていただきます。
皆様、よろしくお願いします。
>1.「サブクラス」に「スーパークラス」を代入するのは、なぜいけないのでしょうか?
キャストすれば可能. いけないコトはない. 「危険な型変換」があるから「いけない」って
言われてるだけじゃないのか? 意味を理解して使うなら問題ない.

>2.「スーパークラス」に「サブクラス」を代入するのは、なぜ大丈夫なのでしょうか?
>3.「スーパークラス型」を「サブクラス型」にキャストするのは、なぜ「危険な型変換」と言われるのでしょうか?
多態性(polymorphism)についてキチンと勉強すれば分かるはず. オブジェクト指向に関する本を
読んでみるといい. JavaしかやったことがないならJavaのサンプルコードが載ってる奴を買って
自分でコンパイル/実行してみると良く分かる.
あと言語仕様を見るものいいだろう. GoogleでJava,言語仕様で探せば出てくる.
656デフォルトの名無しさん:02/09/03 04:32
servletのdoGet, doPostのことで質問です。

例えばhtmlのフォームで

<form action="a?aaa=ccc" method="POST">
<input type="text" name="aaa" value="bbb">

と記述したとします。
つまり、GETとPOSTが混在する場合です。
この場合 doPostの処理しか書いてないのに
パラメーター「aaa」がGETの方の「ccc」に上書きされてしまいます。
(POSTの「bbb」が消えてしまう)

もちろんこれは特殊な場合なのでしょうが、メソッドをPOSTに限定してるような
掲示板などで悪用される危険性があります。
GETとPOSTのリクエストを分けて処理するにはどうすればいいのでしょうか?

GETの方をurlのクエリーパスをデコードして
POSTの方をgetInputStreamで解析して
って方法しかないのかな。
>>654
なんか宿題っぽいので答えてやんねぇ。
>>654
「継承する」ってことがどういうことなのか、オブジェクト指向を易しく解説した書籍等を見てよく考えよう。
659デフォルトの名無しさん:02/09/03 11:52
質問します。
"AE080009"のような、byteの配列を2桁の16進数の連結されたものに変換したStringがあります。
これをbyteの配列に戻したいのですが、良い方法はありませんか?
ご教唆願えれば幸いです。
>>657
クラスにクラスを代入って、なんかすげーメタレベルの操作みたいだな
661660:02/09/03 11:56
660は>>654のまちがい。>>657誤爆スマソ

>>654

>1.「サブクラス」に「スーパークラス」を代入するのは、なぜいけないのでしょうか?
メソッドが正しく呼ばれることが保証されないから。

円描画用筆クラス 円描画用筆 = new 筆クラス();
円描画用筆.円を描け();    // 筆(↑)は円を描けないから、エラーになる

>2.「スーパークラス」に「サブクラス」を代入するのは、なぜ大丈夫なのでしょうか?
メソッドが正しく呼ばれることが保証されているから。

筆クラス 筆 = new 円描画用筆クラス();
筆.円を描け(); // 円作画用筆(↑)は円を描けるから、OK

>3.「スーパークラス型」を「サブクラス型」にキャストするのは、なぜ「危険な型変換」と言われるのでしょうか?
メソッドが正しく呼ばれることが保証されないから。

円描画用筆クラス 円描画用筆
      = (円作画用筆)(筆);
円描画用筆.円を描け();// 筆(↑)は円を描けないから、エラーになる
663デフォルトの名無しさん:02/09/03 12:37
XPのDOSで
C:\Documents and Settings\あぼーん>
ってなってるんですけどこれを起動時から
d:\マターリ>
にしたい時はどうすればいいんですか?
板違い
いや、スレ違い
666デフォルトの名無しさん:02/09/03 12:49
板違いすいませんでしたOS板に逝って来ます
>>659
良い方法って無いような。
自力で
str = "AE080009"
str = str.toUpperCase(); //文字列が大文字であることを保証できるなら必要なし

//文字列が奇数の長さの場合は考慮しない
byte[] buf = new byte[str.length() / 2];
for( int i = 0 ; i < buf.length ; i++ )
 buf[i] = ("0123456789ABCDEF".indexOf(str.chatAt(i*2)) << 4)
     | "0123456789ABCDEF".indexOf(str.chatAt(i*2+1);

とかやるとか。
これも宿題?
>>659
>>668
>良い方法って無いような。

2文字ずつに切って
Integer.parseInt(str,16)
はどうなん?
>>669
あ、なるほど。
でも 2文字ずつ切る動作が入るから大して変わらんかも…
>>670
逆転ホームラン。
8文字以内ならperseIntしてからシフト演算で
16文字以内なら Long.parseLong してから以下略
とかはどうなん?

17文字超えたらアウトだけど、2文字ずつよりましかも…

>>671
いや、byte配列にするらしいから。
8文字ごとに区切って paeseInt だと
int から byte配列変換の動作が伴うのであんましうれしくないかも。
もっとも、byte配列じゃなくていいなら >>669,671 のが良いと思うけど。
元データを8文字で区切ると言う話でなくて
元データが8(or 16)文字以内なら、というつもり。

そしたら2文字ずつ区切ってparseするより
4or8バイト分のデータをparseで取ってきて、
それをLoopでシフト演算使ってbyte配列に入れたほうが
多少(本当に多少だが…)スマートかも、と言うレベル
の話だったのだ。
分かりにくくてスマヌ
674デフォルトの名無しさん:02/09/03 20:12
JAVAを勉強し始めたばかりのひよっこなのですが、
どこかメソッドの使用例を載せているサイトがあったら教えてください。
お願いちょ。
675デフォルトの名無しさん:02/09/03 20:19
JAVAの開発環境のインストールされていない環境で
JAVAで作ったアプリを実行させようとおもうんですが、
コンパイルしたファイルをただ持っていったら動くのでしょうか。
676429:02/09/03 20:20
教えてくださった甲斐あって文字列送信できました。
今度はキーボードから打った文字を転送したいのでもうひとつBufferedReaderクラス
を作ってキーボードから読み込みしたんですが、実行してみるとサーバ、クライアントともに
待機状態。。System.out.println()で読み込めてるのかなと思い、入れてやったら
ちゃんとキーボードからは読めているみたいです。どう改善すればいいんでしょう。
もしこれできたら簡易チャットみたいな感じなのかな

import java.io.*;
import java.net.*;

public class server
{
public static void main(String[] args)
{
try
{
ServerSocket socket = new ServerSocket(55555);

while(true)
{

Socket insocket = socket.accept();

BufferedWriter out = new BufferedWriter(new OutputStreamWriter(insocket.getOutputStream()));
BufferedReader in1 = new BufferedReader(new InputStreamReader(insocket.getInputStream()));
BufferedReader in2 = new BufferedReader(new InputStreamReader(System.in));
677429:02/09/03 20:21
String in3 = in2.readLine();

out.write(in3);
out.flush();

String suto2 = in1.readLine();
System.out.println(suto2);

out.close();
in1.close();
insocket.close();
}
}
catch(Exception e){}
}
}
678429:02/09/03 20:21
クライアント
import java.net.*;
import java.io.*;

class client
{
public static void main(String args[])throws Exception
{

Socket socket = new Socket("127.0.0.1",55555);

BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
BufferedWriter out1 = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
BufferedReader in4 = new BufferedReader(new InputStreamReader(System.in));

String suto = in.readLine();
System.out.println(suto);

String suto3 = in4.readLine();
out1.write(suto3);
out1.flush();

in.close();
out1.close();
socket.close();
}
}
680デフォルトの名無しさん:02/09/03 20:36
>>674
ドキュメント(ヘルプ)
>>680
Javaのドキュメントはよく書けてるよなマジで。

>>675
JREで調べて見るべし。単体では動きません。
それが嫌ならC#を検討する事をお勧めしたい。
682デフォルトの名無しさん:02/09/03 20:53
>>680
わたしが欲しいのは、
char charAt(int /)
boolean endsWith(String s)
byte[] getBytes()などのごく簡単なメソッドのサンプルコードです。
今「JAVA サンプルコード」で検索したら見つけられなかった。(TT)
本付属のCDには載ってませんでした。
683デフォルトの名無しさん:02/09/03 21:03
最近、「おまえリフレクションも知らんのか」と言われました。
調べてみてもよくわかりません。
簡単な説明のありかでも教えていただけないでしょうか。
お願いします。
Google[Java リフレクション]
Javaプログラムデザインとかいう本に基本的なことは書いてあった。
リフレクションのみならずデザインパターン、スレッドプログラミングについても
いろいろ書いてあって個人的にはお気に入り。
>>682
…サンプルコード必要?
自分でちょこちょこ書いて試してみれば
すぐ理解できそうなもんだが…
687674:02/09/03 21:50
>>686
ええ、必要です。なぜなら私の持ってる本は、それらを一覧でみせてるだけで、
いろいろためしてみましたが、いくつかのはわかりません。具体的には、
boolean endsWith(String s) (真はOK.偽がわからない)
byte[] getBytes()です。
できたらサンプルコードください。
>>687
んじゃ やめな。お前には無理だ。
689674:02/09/03 21:55
ちょっと甘えてみただけなのに、ひどい。
こんなの、2日で理解してやるさ!ぼけ!
>>689
おう、その意気だ。がんがれよ。
甘えないことを学んだことの方が重要だ。
691(`・ω・´):02/09/03 22:04
>>689
ガンガレ 674!!
とりあえず動かしてみるのだ!!
>>687
2日もかかりますか…
俺も >>688 の意見に賛成だね。
もっとも小学生だとそんぐらい掛かるかもしれない。

String str = "ABCDE";
str.endsWith( 'A' );//偽
str.endsWith( 'B' );//偽
str.endsWith( 'C' );//偽
str.endsWith( 'D' );//偽
str.endsWith( 'E' );//真

String str = "漢字文字列";
byte[] sjis = str.getBytes("Shift_JIS");
byte[] euc = str.getBytes("EUC_JP");
byte[] def = str.getBytes();
for( int i = 0 ; i < sjis.length ; i++ )
 System.out.print( Integer.toHexString( sjis[i] & 0xFF ) + "," );
System.out.println();
for( int i = 0 ; i < euc.length ; i++ )
 System.out.print( Integer.toHexString( euc[i] & 0xFF ) + "," );
System.out.println();
for( int i = 0 ; i < def.length ; i++ )
 System.out.print( Integer.toHexString( def[i] & 0xFF ) + "," );
>>682
endsWith って String じゃないと無理じゃん?
694693:02/09/03 22:09
>>692
だった
このドキュメントって、どのクラスにあるのかが分かっててナンボというか、
素人の僕には目的の物がどこにあるのかが分からないのですが、
検索みたいなことは出来ないのですか?

今は、仕方なくMicrosoftのMSDNで検索してます…。
>>695
1.HTMLはテキストなんだからgrepなり何なりしろ。
2.パッケージごとに大体似たような機能がまとまってるから、考えろ。
3.Sunのチュートリアル嫁。
>>678
これでも読んどけ
「基礎からわかるTCP/IP Javaネットワークプログラミング」
http://www.amazon.co.jp/exec/obidos/ASIN/4274063216/249-5187271-1885120
最近Java始めたものですが
コンパイルは成功しても実行が出来ずなやんでいます。
Windows2000でJ2SDK1.4.0をインストール後、
HelloWorldをメモ帳で打ち込み、コンパイルは成功したんですが
生成されたclassファイル実行すると
Exception in Thread "main" java.lang.NoSuchMethodError : main
とエラーがでて実行されません。
初歩的な質問ですがよろしくお願いします
>>698
ちゃとmain関数は
public static void main(String[] arg)
になっているか?arg は別の名前でも可。
>>698
クラスのmainメソッドのシグネチャが間違ってるっぽ。
public static void main(String[] args)ってメソッド
が、ちゃんとあるかい?
701674:02/09/03 22:44
>>698
それはきっと入力ミスだ。よくみくらべるべし。
>みなさん。
>>692のコードを簡単にしてやってみたら、例外エラーが出ました。
>>692のごちゃごちゃはそのせいかもしれないけど、知らないキーワード
だらけなので保留にします。もともと「知っとけよ」程度の(本では)段階
でしたから。首を長くして待つべし。ありがとう。
>>701
どうでもいいが、例外エラーなんて言い方する奴は馬鹿決定。
703674:02/09/03 22:46
だってそういわれたもん。忠実だぽ。
>>701
簡単にした、ってどうしたんだろ?
>>704
何行か削除したんでしょ(ワラ
706 :02/09/03 22:58
www.javacat.com ってなくなっちゃったの?
>>706
そうです。そもそも前から情報価値なかったでしょ。
708706:02/09/03 23:02
>>707さん
ありがとう!3〜4年くらい前のjava本のリンクに載ってたんで・・・
本の索引の様に、昇順で単語が並んでいるCSVの中から単語を検索して
どこに存在するかを知りたいのですが、こういう操作を行う時に
効果的なメソッド、もしくはアルゴリズムがありましたら名前だけ
でもいいので教えて頂けないでしょうか?

現状ではstringに格納してindexOfで検索しているのですが、
せっかく元データが昇順に並んでいるのでそれを利用して
高速化したいんです。

よろしくお願いします。
>>709
java.util.Listに昇順保って放り込んで、
java.util.Collecitons#binarySearch()
711710:02/09/03 23:22
ついでに、CSVファイルがやたらでかくてメモリが
たりないなら、 java.lang.ref.SoftReference。
(この場合での使い方が、分かるかな?ニヤニヤ)
>>710
ありがとうございます!
713709:02/09/03 23:32
>>711
分かりません…持ってる本にも書いてないです。

でもここで聞いたら一生初心者になりそうなのでがんばって調べてみます。
教えて頂いてありがとうございました。
それにしても、サンプルコードがないと実装できないなんて終わりだな。

調べものしていると平気で
「ServletAPI2.3のHttpServlerResponseWrapperのようにHttpServletResponseをラッピング
することにより、ServletにてJSPの出力結果を取得できる。」
としかないこともある。
↑これはヒントとしては十分すぎるのかな?
>>713
SoftReference使う必要性に迫られるのはずいぶん先だと思われるので、
今のところ知らなくても全くかまわないと思われ・・・

>>711
このイケズさんたらもう
716698:02/09/04 00:44
皆様、ありがとうございます!解決しました!
Cのように省略してはいけないんですね。助かりました!
forte使っている方、おられますか?
forteで作成したアプリを外部で動かしたいのですが方法が分かりません。
IDEを使わず、コマンドラインで実行させたいのですが・・・
サーブレットで質問です。
サーブレットコンテナとしてTomcatを使っています。

サーブレットを1つ(serv.class)作成し、

serv.classを
%TOMCAT_HOME%\webapp\dirx\WEB-INF\classes\serv.class
%TOMCAT_HOME%\webapp\dirx\WEB-INF\classes\serv.class
上記の2つのディレクトリにコピー、

%TOMCAT_HOME%\webapp\dirx\WEB-INF\web.xml
%TOMCAT_HOME%\webapp\diry\WEB-INF\web.xml
上記の2つのファイル中でserv.classをサーブレットとして登録。

これで
http://www.xxx.com/dirx/serv
http://www.xxx.com/diry/serv
上記の2つのURLにアクセスした場合、
リクエストを返すサーブレットは別々のインスタンスとして起動されますか?
起動させたらどうなりましたか?
public static な変数ですぐ試せますよね。
720デフォルトの名無しさん:02/09/04 02:38
javaってプロセッサに依存するの?
例えば、xeonでも動くの?
64bitのプロセッサだとどうなの?
JavaをC@と呼んでいいですか?
C#にならって。
C# にならうとなぜ C「@」になるんですか?
723デフォルトの名無しさん:02/09/04 03:38
++c++

Java -> c!?
724722:02/09/04 03:41
>>721
はやく答えろ
その昔、C@という言語のウワサがあったじゃーないですか。
それがJavaの原形なんでしょ。よくおぽえていないけれど。
だから(Java==C@)
726悪魔:02/09/04 10:21
それはデマだ>C@
マジレス
727 :02/09/04 11:53
SDKの環境変数がうまくいかないのですが
DOSプロンプトでjavacと打っても以下のように表示されてしまいます。
どうしたらよいでしょうか?

Microsoft(R) Windows 98
(C)Copyright Microsoft Corp 1981-1999.

C:\WINDOWS>javac
コマンドまたはファイル名が違います。
728デフォルトの名無しさん:02/09/04 11:55
>>727
PATHは通っているの?
729 :02/09/04 12:13
DOSプロンプト上で
>path
と打ってみよう。
パス情報上に
[JDKをインストールしたパス]\jdk[バージョン]\bin
がなければパスが通っていない。ていうか通っていないはず

パスの設定は
>set PATH=%PATH%;[JDKをインストールしたパス]\jdk[バージョン]\bin
をjavacするたびに打つか
autoexec.batにセットするかどちらか
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
イー便茶役員一覧

社長池上(テンプスタッフを追い出された、人材派遣業ヒューマンアイも経営し、私腹をこやしている)
菅原(住商情シスで仕事をしたと威張ってる、偽EVS Framework開発者として、JavaONEで演説予定)
山本(リクルートをDrop outして人材派遣業という、いわゆる使えない社員の王道、ヒューマン偽アイコンサルタント)
児玉(なんだかんだで、結局辞めた)

こんなやつらは、ゴミ以下のイーベンチャー ゴミサポート会社!!!!
(ついでにゴミSE巡回サービスもよろしく!!)
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
>>727
>>729はネタなので読まないでね。あぼ〜んしてね。

PATHの設定に関しては

http://java.sun.com/j2se/1.4/ja/install-windows.html にある

> 5. PATH 変数の更新

> Microsoft Windows NT、2000、および XP
> Microsoft Windows 98 および 95

のいづれか。
>>731
君のリンクの先と、>>729 にどれほどの違いがあるのか。
オブジェクトの複製についてです。

clone()はそのクラスがフィールドとして持っているオブジェクトも複製してくれるのでしょうか?


class b implements Cloneable{

public Object Clone(){
super.clone();
}


}


class a implements Cloneable{

public Object Clone(){
super.clone();
}

public b objb;

}
>>732
全然ちがうじゃん。自分でよく読んでごらん?

たぶん、

>>729 = >>732 なんだろうな。
>>733
メンバフィールドが 全部public とかそーゆークラス作って、
clone() して == とかで比べてみればいーじゃん…
737732:02/09/04 16:45
>>734-735
一応、俺は >>729 ではないんだが(まあ、そう思うのは勝手だが)、

>>729>>731 も autoexec.bat に path を追加する、ってことだろ?
>>727 には「Windows98」ってなってるし)

>>729 をネタといってしまうほどの違うある?
俺、アホ?

>>733
デフォルトの実装ではしない。
その代わり自分で書いた好きな実装のclone()でオーバーライドしてよい。
739デフォルトの名無しさん:02/09/04 18:48
>>737
多分DOSのこととかわかってない人だから気にするな。
きっと彼らは環境変数を変えるのにいちいち再起動する人たちなんだよ。
そっとしておきな。
>>738
なるほど、勉強になりました。

>>736
もっともなご意見です。これからは精進します。
741674:02/09/04 19:11
昨日質問した674です。
あれから二日。ついに、
byte[] getByte()を成功しました。
出力は良くわからなかったけど、とりあえずは良しとします。
誰だ!例外エラーなんていったやつは!
これからもちょくちょく世話になる予定ですが、よろしくお願いします。
ありがとうね。
>>741
例外エラーって何ですか?

Exception と Errorは明確に分けられるはずですけど。
743674:02/09/04 20:46
>>742
うむ、わからぬ。そう表示されたのじゃ。
ところで
boolean bool = s1.equalslgnoreCase(s7);
はどこがおかしいですか?シンボルを解釈できないんです。

>>736
中途半端なデマ教えんな(ワラ
狙ってやってるのか?
operatorとかテンプレートが使えるようになるという
噂を聞いたが本当?
746デフォルトの名無しさん:02/09/04 21:52
>>727がネタだったのに(笑
>>737
このスレではずっと >>731 の説明でした。
Linuxのxjedみたいにjavaのソースを色づけして見やすくしてくれるエディタはないですか?
できれば、それ単体で動くものがいいのですが、、、

Mule for Win32にJDE搭載デキネーヨ
ウワァァァ━ヽ(`Д´)ノ━(ヽ`Д)━(  ヽ`)━ヽ(   )ノ━(ヽ  )━(Д´ヽ)━ヽ(`Д´)ノ━ン!!!
749748@追記:02/09/04 21:57
今はWindowsのコマンドプロンプトからコンパイル→実行しているので
コンパイル機能は特に必要ではありません。
よろしくお願いします( ´∀`)
>>748
そんなのいくらでもあるだろ

(例)
Meadow + JDE
xyzzy + JavaTinyConsole
秀丸 + (以下略

751709:02/09/04 22:09
>>748
テラパとかどう?
Duron 1.2GHz
メモリ256MB

Javaアプリケーションがネイティブのように動きます。
JBuilderも手に吸い付くような使いやすさです。
equals Lgnore Case ?
754デフォルトの名無しさん:02/09/04 22:10
755デフォルトの名無しさん:02/09/04 22:13
>>743
こらこら

>boolean bool = s1.equalslgnoreCase(s7);
↓toUpperCase
BOOLEAN BOOL = S1.EQUALSLGNORECASE(S7);
756748@無力:02/09/04 22:16
757751:02/09/04 22:17
>>756
すんません。テラパッドです。
758748@進行中:02/09/04 22:24
>>757
すいませんだなんて、、、ありがとうございました!これから試してみます。

>>750
Meadowは.emacsの追加ができない厨房のためあきらめました。
xyzzy+JavaTinyConsoleは使えましたがxjedの使い心地には及ばないため保留。偉そうでスマン!
>>748
Meadow + epojava どうよ? M-Q で綺麗に整形してくれるのが気に入ってます
760ぼぶ ◆EMrmvKLI :02/09/05 00:31
これからJAVAを始めたいのですが、>>5を見てもJDKのインストールの仕方がわかりません。
なんか、JREとSDKがあるんですがどっちをダウンロードしたらいいんですか?
761デフォルトの名無しさん:02/09/05 00:38
そんなあなたは開発は無理。
JREでも入れたら?
762デフォルトの名無しさん:02/09/05 02:21
JavaでWindows用のアプリケーションを作ってみたいんですけど、
exeファイルダブルクリックしてアプリが起動するようにするにはどうしたらいいんでしょう?
Visual J++でも使わないとダメですか?
どえらい厨房質問なのは百も承知ですが、どうか教えてください。
>>762
APIドキュメントに"JAR"の説明があるから、それ読め。
764デフォルトの名無しさん:02/09/05 06:32
javaってプロセッサに依存するの?
例えば、xeonでも動くの?
64bitのプロセッサだとどうなの?
>>764
Java==C@.
これからはJavaをC@と呼ぼう。

>>726
以前何処かでC@という言語をポストC/C++として外人が作ってるって言う記事
自体は見た事があるんだが、何処に書かれていたのか思い出せない。
やっぱり俺の間違いだったのだろうか。Oakより以前のような気もするんだが。
766デフォルトの名無しさん:02/09/05 07:53
VBくらいしかやったことないのですが、Javaやってみたいです。
JavaからAccessのデータベースに接続することってできますか?
この場合、本買うとしたらサーブレットとか言うやしでしょうか。
1台のクライアントマシンだけでやりたいのですが。
>>766
> JavaからAccessのデータベースに接続
http://java.sun.com/j2se/1.4/ja/docs/ja/guide/jdbc/getstart/bridge.doc.html

とりあえず>>2-10あたりチェックしとき
>>763は、なにを言ってるの?
WinだとManifestでMain-Class指定してあるファイルはダブルクリックで起動できるんじゃなかったっけ.
だからjarコマンドの説明読めってコトだろ.
>>769
>>762は、「exeファイルダブルクリックしてアプリが起動するようにする」方法を聞いているね。
「Visual J++でも使わないとダメです。」が妥当な答えだね。

似たような方法として、 JREがすでにインストールしてある環境下で jarファイルをダブルクリッ
クして起動する方法がある。

ってことだね。
gccコレクションのgjcを使えばいいんじゃねーの。
windows環境でまともに動くかどうかはしらないけれども。
>>762
Visual J++は使ったことないけど、Windows用のexeを作りたいなら
こんなものもある。

JET (http://www.xlsoft.com/jp/products/jet/)
パーソナル版は個人利用に限って無料で使える。ランタイムライブラリが
必要なのでexeだけでの配布はできない。プロフェッショナル版では、
コンソールアプリケーションならランタイムレスなexeを作れる。
SWTも使えるよ。プロフェッショナル版は20万円。60日試用版あり。
コンパイラだけでなく、コンパイルしたexeも60日後に起動できなくなるので注意。

GCJ (http://gcc.gnu.org/java/)
いわずとしれたgcc兄弟のひとり。まだ、AWT, Swing に対応していないが、
GUI対応も進められている。いまはまだ、コンソールアプリケーション向き。
実装されているクラスライブラリは 1.1 + α程度。正規表現とか使ったら
コンパイルできなかった。。あと cygwin + gcj ではマルチスレッドが
動かなかった(環境が悪いのかも…)
cygwin-gcj で作成した exe はランタイム cygwin.dll が必要。
mingw-gcj ならランタイムレス(実際はWindowsに標準装備されているライブラリを使う)
なので、exe単体での配布が可能。

他にもAOTコンパイラはたくさんあるようなのでレビューキボンヌ
>>771
CUI なアプリなら exe にはなるけど、ウィンドウまではまだ対応していなかったような気がする。
20分遅れて、しまも情報量少ないこと書いてしまった。すまそ
基本的なことで申し訳ないんですが、たとえばパケット送受信の
クラスを書いていて

if(TCP指定なら){
  Socket socket = new Socket(host,port);
}else{
if(UDP指定なら){
  DatagramSocket socket = new DatagramSocket();
}}

とか宣言すると、後のほうでsocketがcannot resolveゴルァとなるのですが、
"宣言されない場合がある"、というときはハネられるんでしょうか?
そもそも、こういう書き方がダメなんでしょうか。
776762:02/09/05 15:55
ありがとうございます。
結論を先に申しますと、VisualJ++でいこうと思います。
>>772さんに紹介していただいたJETは少し値段がかさみますし、
GCJの方はGUI非対応ということなので。
当方、学生なので、VisualJ++をアカデミックで買えば、安ければ5000円で釣りが来そうです。

>似たような方法として、 JREがすでにインストールしてある環境下で
> jarファイルをダブルクリックして起動する方法がある。
こんなことも出来るんですね。まったく初耳です。
これからもっと色々ドキュメント読んで勉強します。
>>775
if ブロックを出たあとで socket を使おうとしてない?
そもそもコードの書き方が良くないと思うんだけど、どうしてもというのなら
共通の親である Object socket を宣言しておいて、
使うときに毎回キャストすることになる。

Object socket;
if(TCP) {
 socket = new Socket(...);
} else if(UDP) {
 socket = new DatagramSocket(...);
}

使うときも毎回
if(TCP) {
 Socket t = (Socket)socket;
 TCPの処理...
} else if(UDP) {
 DatagramSocket d = (DatagramSocket)socket;
 UDPの処理...
}

Socket と DatagramSocket は共通の親を持たないので、
ポリモーフィズムは使えないんだよ。だから同じ変数に入れようとせずに、
Socket と DatagramSocket の処理は別々に書きなさいってこった。
778素人:02/09/05 16:31
おながいします。
Web画面で、よくアップロード(Windowsのファイル画面)できるサイトがありますよね
例えば、写真のUPとか、HTMLファイルのUPとかです。
自分で作るとしたら、どのようにすれば良いのでしょう?
教えて下さい、おながいします。
>>778
それは本当にJavaで行うものなのですか?
すでにそういうものがJavaであるのか、Javaでそういうものを新しく作りたいのか?
780デフォルトの名無しさん:02/09/05 16:45
アプリケーションでAudioclip を使って音楽を鳴らすにはどうしたら良いんですか?
教えてください。
>>776
Visual J++はJavaであってJavaでないので
普通にJavaを学びたいのなら避けたほうが良いと思われ

最新のJDKが1.4なのに対して、VJは1.1.x相当。
特に、今のJavaはJava2(1.2)でかなり環境が整備されたので、
1.2以降とそれ以前の差は大きい。

どうしても.exeで起動したいときは、java -jar xxx.jar をキックする小さな.exeを作るのが一般的。
有名どころ(JBuilderやeclipse)はそうなってる。
これだけならフリーのBCCなんかでも作れるしな
783780:02/09/05 16:48
>>781 読んだけど。。。
784 :02/09/05 16:58
工房です。JAVAの勉強をしたいです。
どこかのスレにVisual JはJAVAにあってJAVAにあらずと書いてありました。
ソフトは何がお勧めですか?
>>783
もう一度嫁。
786780:02/09/05 17:12
>>785
わかった!
>>777
ありがとうございます〜。
なるほど、その通りでした。処理を分けたら解決しました。
>>784
まずは本を買ってきましょう。j2sdk1.4対応な本ね。(なければ1.3でも)
んで、そこに書いてある通りにインストールして、勉強しましょう。

質問はそれからだ。
789780:02/09/05 17:31
>>788
了解しました。早速買いに走ってきます。
Java言語プログラミングレッスンJava言語を始めよう
というのがいいという話を聞きました。
これでいいですかね?
790デフォルトの名無しさん:02/09/05 17:36
すいません、ごめんなさい、教えてください。m(__)m

イベント内で、this キーワードが使えないのって、何故なんですか?

手持ちの本に、Static が付いているメソッド(クラスメソッド)内部では this キーワードを使用することが出来ないとかいてありました。そのこと自体は解るのですが…。

もしかして、イベントもクラスメソッドなんですか?
>>790 の言ってる「イベント」って何?
>>790
hoge.addWindowListener(
new WindowAdapter() {
public void windowClosing(WindowEvent e) {
// ここでthisが使えない.
}
}
);

こういう場合?だったら使えないよ。
>>792
そういう時って、OuterClassName.thisとすれば使えるんだよ。
結構知らない人が多いけど。ワーイ

thisだけだと、さしているのは自身のWindowAdapterのインス
タンスになっちゃうのね。
>>793
そうそう、ちなみに WindowAdapterを定義している外側のクラスを Enclosing class って言います。
795キアノ:02/09/05 21:29
ども。

キャノンのHPのこの画像の表れ方教えて!
http://bj.canon.co.jp/japan/digitalphotocolumn/column/mizuguchi/
796674:02/09/05 21:32
後生だぽ。なにが悪いのか教えてくれぽ。
class ASD {
public static void main(String args[]) {
String s1 = "One Two Three Four Five Six Seven";
String s2 = s1.toUpperCase();
boolean b = s1.equalslgnoreCase(s2);
System.out.println(equalslgnoreCase);
}
}
>>795
なんでここで聞くんだ?
798674:02/09/05 21:36
>>796
System.out.println(b);でした。
それでもエラーが出るのです。
799キアノ:02/09/05 21:38
>797

どこで聞けばよいの?
>>799
何から何まで人に頼るその姿勢には虫酸が走るが、
http://pc3.2ch.net/test/read.cgi/hp/1030814342/l50
↑おそらくここが適任だ
801キアノ:02/09/05 21:50
>800
キャ〜 感謝! 
>boolean b = s1.equalslgnoreCase(s2);
boolean b = s1.equalsIgnoreCase(s2);
ですね。
っつーかネタ? 前も同じ事やってたし、
おまけに ちゃんと問題点指摘されてた気がするが…
803デフォルトの名無しさん:02/09/05 22:00
>>796 >>798 >>674

最低一度氏ね。

equalslgnoreCase ---> equalsIgnoreCase
804デフォルトの名無しさん:02/09/05 22:01
>>674の問題点は馬鹿であることだ。
805初心者です:02/09/05 22:03
yahoo!ゲームを始めようとしたら
『javaうんぬんをダウンロードしますか?』
というログが出ました。
なんか怖いのでダウンロードせずに始めたら
何も表示されないんです。
左上に小さいバツが出ています。
どうしたらいいのでしょうか?
何かダウンロードしたほうがいいのでしょうか?
ヤフーに聞け
>>805
はい、してください
808初心者です:02/09/05 22:06
yahoo!のヘルプ見たんですが、何やらさっぱりわからないんです。
ヤフーに聞け
^^^^^^^^^^^^

きくんだよ
>>808
だからってム板のJavaスレで訊くなよ。
811初心者です:02/09/05 22:08
>>806
メールでyahooに聞いたのですが、
マイクロソフトに聞けと言われちゃいました。
たらいまわし状態(泣
812初心者です:02/09/05 22:09
>>808
すいません どこで聞いていいのかわかんなくて。
>>812
ダウンロードしろ、もうここには来るな。わかったな?
あ、それはシークレット機能のバカフィルターです。
yahooはユーザーを選択していて、
ある一定の知能以下のユーザーには使わせないようにしてます。
だから、きっとあなたはそのフィルターに引っかかってしまったのです。
あきらめてください。
これ以上の丁寧なレスはおそらく望めないと思います。
815初心者です:02/09/05 22:13
何をダウンロードすればいいのでしょう?
816674:02/09/05 22:15
でたーーーーーーー!
だって!だってだって私の読んでる本小文字エルと大文字アイの
見た目が全く同じなんだもん。グーグルでequalslgnoreCaseでも
いっぱいでてきたもん!今までよくもばかにしてくれたな。
これが最初で最後だ。一応例はいっておこう。亜理瓦堵夜!
ふぉとしょっぷヤいらすとれーたナド
>>674
Javadocくらい目を通せよ。Javaの学習してるんだろ?
ignoreという単語も知らないのか(w
そんなんでよくプログラミングできるよね。
変数名はローマ字ですか?
822674:02/09/05 22:22
くくくく。勝った!
>>822は無視。荒れる元。
824790:02/09/05 22:57
>>791
言葉が足りなくて申し訳ないです。

>>792
全くその通りです。
ありがとうございます。m(__)m

>>793-794
ありがとうございます。こういった周辺の情報は、非常に勉強になります。
また、その辺をヒントに、色々理解を深めたいと思います。

三方ともありがとうございました。m(__)m
825 :02/09/05 23:51
htmlをパースするにはドーすればいいんですか。
SAXとかでパースできますか?
826デフォルトの名無しさん:02/09/06 00:31
また、無謀なことを(w
何をしたいのか知らないがHTMLに目印を組み込んで自前でパースするのが吉。
XHTMLとかなら無問題だが、仮にhtmlが読み込めても補完方法が曖昧
827デフォルトの名無しさん:02/09/06 00:52
COBOLからJAVAへのコンバージョンソフトって
ありますでしょうか??
828デフォルトの名無しさん:02/09/06 01:09
質問ですが皆さんはプログラミングをどういう所で習得なさったんですか?
やってみようかなって思ってるので1から教えてくれる所なんかの情報を下さい。
お願いします
829825:02/09/06 01:21
javax.swing.text.htmlとかは関係無いのですか?
830ぼぶ ◆EMrmvKLI :02/09/06 01:24
はっきりした答えが出なかったのでもう一度質問します。
これからJAVAを始めたいのですが、>>5を見てもJDKのインストールの仕方がわかりません。
なんか、JREとSDKがあるんですがどっちをダウンロードしたらいいんですか?



>>830
ドキュメントを読めばおのずとわかる。
ただ、日本語に不都合が見受けられますので、苦労されるかもしれません。
その場合は何百回でもドキュメントを読み直しましょう。
言語の勉強は繰り返し行うしかありません。
>>830
どっちでも好きな方を。
間違えたら もう片方をダウンロードすれば大丈夫です。
833(´・ω・`):02/09/06 03:22
>>830
冷たいように思われるかもしれんが、Javaの入門書を買ってきたらどう?
インストールからコンパイルの仕方まで載っているモノをね。
それが一番楽&早いと思われ
>>831
日本語に不都合があるのは830なのかドキュメントなのかがわからない文面ですた。
>>828
開発環境を毎日夢中でいじり倒した。
プログラミング関係の面白そうな記事の載っている雑誌を
買いあさったりその手のサイトをめぐっていろいろ試した。

1から全部独学なので
教えてくれる所なんかしらん。

専門学校にでも行ったら?
836割とマジレス(W:02/09/06 10:55
>>828 ヘタレ絵にだまされるなよ
http://park.ruru.ne.jp/ando/work/who/html/
837デフォルトの名無しさん:02/09/06 12:06
>>835 禿堂。
1から教えてもらった技術なんて結局役に立たないし、応用利かないよ。
バカにでもヒッキーにでもなっていいから、自分でいじり倒して学んだ方がイイ。
# ずっとヒッキーでも困るんだけどな。
838 :02/09/06 12:15
JTableコンポーネントへのrowの追加について質問があります。

現在JTableコンポーネントには通常の文字列が入力できるカラムの他に
JCheckBoxコンポーネントでチェックボックスによる入力が出来るカラムが存在しています。

テーブルへの入力は直接セルに文字列やチェックボックスの入力を行うのではなく
ボタンを押下後ダイアログを表示しそこで必要な情報を入力し
ダイアログにてOKボタンを押下する事でテーブルにデータを入力できるようにしようとしています。

ここでJCheckBoxコンポーネントへのダイアログ上の情報を反映する方法がわかりません。

テーブルのデータはDefaultTableModelのaddRowメソッドを使用して追加しようとしています。
文字列だけの場合ならばaddRowメソッドで追加できますが
これにJCheckBoxなどのコンポーネントが加わった場合、どのようにすればよいでしょうか?
839デフォルトの名無しさん:02/09/06 14:18
>>836
うわー

取り扱ってる題材とか参考文献とかめちゃくちゃセンスいいのに
変な対話形式と下手な絵とダサいレイアウトで相殺している!
>>836、839
テキスト書いてる人は有名だよね

絵は…「画像表示禁止」っと。
JAVAで、ホスト名、もしくはIPアドレスを指定して
特定のPCの物理アドレスを取得することは出来るのでしょうか?

ホスト名からIPアドレス取得、
IPアドレスからホスト名取得は出来たのですが・・・・

やっぱり、JNIなどを使わないと無理なのでしょうか?
>>838 これでどうよ?
import javax.swing.*;
import javax.swing.table.*;
import java.awt.*;
public class TTT extends JFrame{
 public static void main(String argv[]){
  TTT ttt=new TTT();
  ttt.show();
 }
 public TTT(){
  DefaultTableModel mdl=new DefaultTableModel(new String[]{"もじ","ちぇき"},0);
  mdl.addRow(new Object[]{"うぐぅ",Boolean.TRUE});
  mdl.addRow(new Object[]{"が、がお",Boolean.FALSE});
  JTable tbl=new JTable(mdl);
  tbl.getColumnModel().getColumn(1).setCellEditor(new DefaultCellEditor(new JCheckBox()));
  tbl.getColumnModel().getColumn(1).setCellRenderer(new CheckBoxRenderer());
  getContentPane().add(new JScrollPane(tbl),BorderLayout.CENTER);
 }
 class CheckBoxRenderer extends JCheckBox implements TableCellRenderer {
  public Component getTableCellRendererComponent(JTable table, Object value,boolean isSelected, boolean hasFocus, int row, int column) {
   if (isSelected) {
    setForeground(table.getSelectionForeground());
    setBackground(table.getSelectionBackground());
   } else {
    setForeground(table.getForeground());
    setBackground(table.getBackground());
   }
   setSelected((value != null && ((Boolean)value).booleanValue()));
   return this;
}}}
参考: ttp://www2.gol.com/users/tame/swing/examples/JTableExamples2.html
843U ◆tFsGiu0c :02/09/06 14:55
>>778

Servletでやりたいなら
http://www.servlets.com/cos/index.html
を見ろ。

>>825,829
>javax.swing.text.htmlとかは関係無いのですか?

関係あります。それだけわかってるんだったら検索かけてみたら?


ここは夏よりも、学校始まってからの方が荒れるのね。


845デフォルトの名無しさん:02/09/06 16:44
Canvasから継承したクラスのpaint()にdrawLineで20本くらい
線を引く処理を書き、これをアプレットにGridLayoutでadd()したんですが、
アプレットビューアで起動したとき、上述の20本の線のうち、半分の
10本くらいしか表示されず、その後アプレットビューアにマウスを
ポイントすると全部表示されました。
自分の意図としては起動時にすべての線を表示したいのですが、どのあたりが
マズそうですか?
sdkの1.4を使っているのですが。
>>845
アプレットビューアで起動したとき、って言明してるってことはブラウザで見たときはオッケーなのか?
ちょっと情報少ないので、できれば関係ありそうなところだけでもソース晒してくれると答えが返ってくるかも。
俺の手元の環境では再現しないっす。

# >自分の意図としては起動時にすべての線を表示したいのですが、どのあたりが
# >マズそうですか?
# こんなの見ると「お前の頭がマズい」とか言いたくなるのって俺だけか?
# 特に理由はないし、>>845に非があるとかじゃないんだけど、なんか条件反射的に。
847838:02/09/06 17:43
>842
うまくいきました!ありがとうございます。
848845:02/09/06 18:05
ttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=20&fi=no
こちらをお借りしてソース晒してみました。

>>846
ブラウザはIEの5.0を使っているんですが、なんかさっぱり表示しませんでした。
(-target 1.1とかしているのですが。)
DatagramPacketで通信するクラスを練習で書いているのですが、
これって送受信内容はbyteですよね。この内容を16進でコンソールに表示させたくて
(要するにパケットのダンプ)
内容をString(16進表示)にしたいのですが、使えるメソッドはありますか?

APIリファレンス読んだのですが、30分ほど考えて爆沈しました・・・。
>>849
便利なものはないという結論が出ていたような。
普通にしこしこ書いても、数行では?
851825:02/09/06 22:48
>>843
>>javax.swing.text.htmlとかは関係無いのですか?
>関係あります。それだけわかってるんだったら検索かけてみたら?

いや、やはり関係無いです。
変わりにこんなの見付けました。
これは便利。

http://www.apache.org/~andyc/neko/doc/html/index.html
852・゚・(つД`)・゚・ :02/09/06 23:56
>>379
劇的亀レスで申し訳ないが
BigDecimalの名誉のためにレスしとく。
BigDecimalで四捨五入はROUND_HALF_UPで問題ない。

例えば9.9995をscale=3で丸めるたい時に
doubleでnewするとBigDecimalの値は
9.9949999999999992184029906638897955417633056640625に
ROUND_HALF_UPすると9.99になる。
StringでnewするとBigDecimalの値は
9.9995に
ROUND_HALF_UPすると10.00になる

doubleでnewしてることが問題なんだ
BigDecimalは悪くないんだ
853デフォルトの名無しさん:02/09/07 00:12
そういえば、少数点以下があるBigDecimalって、Stringで
newするのが推奨だねえ〜。
あるいは(整数)×(10^-(整数))の整数二個で作るとか。

そういえばJCPで10進小数演算用の拡張がJSRに上がってた
ような。何番だっけ?
854デフォルトの名無しさん:02/09/07 01:37
javaでGUIアプリを作っているのですが、jdbでデバグしようとするとVM Startedと表示されて反応がなくなります。
一応GUI部分とデバグ部分を切り離せば普通にjdbでデバグできるのですが、それだとスマートじゃないです。
GUI実装したアプリをデバグする場合はjdbではどうすればよいのですか?
855854:02/09/07 01:38
>デバグ部分
デバグしたい部分のマチガイです。
856U ◆tFsGiu0c :02/09/07 01:45
>いや、やはり関係無いです。

え?HTMLのパースはできますよ。問題は結構ありますけど。
HTMLEditorKet.ParserCallbackなんかでパースできるね。
正しくないHTMLで適当にタグを自動補完してくれるのは
ありがたいのかありがたくないのか微妙だが。
>>855
sageるのに、「さげ」って書いている人に、未来はない。
>>836
舐めてる絵はともかくとして、いいねそれ。
860デフォルトの名無しさん:02/09/07 14:38
初めてjavaをやってみたんですがエラーが出てしまうのを質問させてください。
@JDKをインストール
ABINにパスを通す。
Bjavac ファイルでclassを作る。
ここまでやったんですが、java クラス名でクラスを実行すると
Exception in thread "main" java.lang.NoClassDefFoundError
とでてきます。単なる"hello java"を表示しようとしただけなんですが、何故javacでクラスはコンパイルできたのに
javaで実行ができないんでしょうか?
861860:02/09/07 14:40
javaをはじめてまだ15分しか立ってませんが、床屋に逝ってくるので
5時ごろまた見に来ます
>>861
クラスパス通ってないんじゃないか?Java, CLASSPATHをGoogleで検索しる!
863デフォルトの名無しさん:02/09/07 15:40
JEditerPaneより高速なHTML表示コンポーネントを探してます。
JavaからGekkoエンジンを使用したりって出来ますか?
半角カナなんて使ってるからじゃねーの?
>>863
ねーねー、Google使った?取り合えず自分で調べてから質問しろよ。
>>865
Java Gekko
Java Gekkoエンジン
Java Gekko Engine
Java HTML
Java HTML 表示
Java HTML コンポーネント

覚えてるだけでこれくらいは検索しました。
>>866
日本語で検索ですか^^;なんで?
>>865
おいおい、ここは「googleで検索しましたが見つかりませんでした。」って書いてないと質問権ないのか?
>>868
そういう意味じゃないだろ…
>>868
一度言ってみたかった厨房か何かだろう。過剰反応するなって。
871865:02/09/07 16:48
>>868
「腐るほど検索でHITするだろうが、目ん玉付いてんのかよ」…の方が良かったか?
>>871
で、検索キーワードはあくまで書かない。
素人からかうだけの識者。悪い場合答えわからんくせにマニュアル的に煽ってるバカってとこか?
873J2EE:02/09/07 17:11
Webアプリで使用するデータベースコネクションプーリングについて
質問です。

javax.naming.InitialContext ic = new javax.naming.InitialContext();
javax.sql.DataSource ds = (javax.sql.DataSource)ic.lookup("java:comp/env/jdbc/OraDB");
java.sql.Connection con = ds.getConnection();

一般的に上記のようなコードで Connection を取得すると
思うのですが、この中の DataSource ds オブジェクトは
アプリケーションの中でひとつだけ存在(シングルトン)すれば
いいように思うのですが、正しい認識なのでしょうか?

それとも Connection を取得する複数のクラスそれぞれで
毎回、上記のようなコードで DataSource を取得するべき
なのでしょうか?

DataSource や JNDI についての知識がないので、
詳しく分からないのですが、ds に、予め設定された
コネクションプール数の Connection が関連づけら
れていて、それを getConnection() で引っ張ってくる
だけなら、ds はむしろ ONLY な存在であるべきな
ような気がするのですが・・・
>>873
DataSource は別に複数生成していないだろ?そのソースでは。

あくまで探してきてその参照を取得するだけだろ。
で、その参照先がひとつ何だから貴様ごとき人間が悩む必要ねーんだよ
馬鹿はJ2EE使うな。
876J2EE:02/09/07 17:35
>>874
ほうほう、そういうことかい。
探すのにはコストは大してかからない?
JNDI lookupは非常に負荷の高い処理である。そのため、ここではstatic変数dataSourceにキャッシングし、繰り返しlookupしないようにしている。サーブレットの場合にはこの処理をinit()メソッドに置き、instance変数にキャッシングさせることにより同様の効果が得られる。
質問に答えないでただ罵しろうとするだけの奴多すぎ。
そういう奴は(・∀・)デテイケ!
879860:02/09/07 18:07
床屋から戻ってきました。
早速>>862さんがおっしゃったことを見てみて、javacでコンパイルして作ったTest.classのあるところに
classpathを以下のコマンドで通してみましたが、

[java -classpath C:\チョメチョメ\ファイルのあるフォルダ]

Exception in thread "main" java.lang.NoClassDefFoundError:and
なるエラーがでてしまいます。
XPだからなのでしょうか?
よくわかりませんが一応admin権限持ってるユーザーでやってます。
どなたか教えてくださいませんでしょうか?
よろしくおながいします
880デフォルトの名無しさん:02/09/07 18:12
jdb使っているんですが、変数の配列はdump hoge[0],dump hoge[1]、、、とかやっていると非常に面倒です。
一気に表示させる方法ないですか?
881J2EE:02/09/07 18:13
>877
「JNDI lookup 負荷」でGoogleしてみました。
http://www-6.ibm.com/jp/software/websphere/developer/performance/vol4.html
ここらの引用ですな。

馬鹿なりにまとめてみると、DataSourceはそもそもひとつしか
存在せず、InitialContext#lookup()でその参照を探して
取得してくる。
でも#lookup()はコストのかかる処理なので、static変数に
キャッシュしておいて、それを再利用するのがベター。

結局は以下のようなクラスをアプリケーションの中に
用意して使うのがヨシってことかな。

pulbic class DataSourceHandler {
  private static DataSource ds;

  private DataSourceHandler() {
    // lookup処理
  }

  public synchronized DataSource getDataSource() {
    if (ds == null)
      ds = new DataSourceHandler();
    return ds;
  }
}

>>879
ソースと実行時のコマンド(実際の入力)を示してください。
883860:02/09/07 18:21
>>882
ありがとです。まずbinにパスが通ってます。

☆そーす(aa.java)
class Test{
public void main(String args[])
System.out.printIn("hello java!");}

☆コンパイル
javac aa.java
んでいちおうclassはできますた。
その後
java Test
と打つと、>>860のエラーが出てきてしまいます。
一応カレントはclassファイルのあるところまで移動しているのですがそうなってしまいます。
クラスが public でないから。
public class Test{
public void main(String args[])
 System.out.printIn("hello java!");
}
885観客A:02/09/07 18:24
>>874 の馬鹿っぷりが気持ちいいですね

ばか
887860:02/09/07 18:26
>>884
ありがとです。早速ためします。
888860:02/09/07 18:29
つーか、うまくいきません。(涙
aa.javaはTestに変えろって怒られたのでTest.javaにかえますた。
んで一応classができて、
java Testと打ちましたが、同じエラーがでます。
☆えらー
Exception in thread "main" java.lang.NoClassDefFoundError:Test
java -cp . Test
ハァ...
set CLASSPATH=%CLASSPATH%;.
891860:02/09/07 18:33
>>889
同じエラー
Exception in thread "main" java.lang.NoClassDefFoundError:main
892860:02/09/07 18:36
>>890
同じエラー
Exception in thread "main" java.lang.NoClassDefFoundError:Test

一応set CLASSPATHの変数を確認しますたが、クラスファイルのあルところです。
ハァ...
カレントディレクトリに Test1.class はあるのか?
dir *.class
894860:02/09/07 18:37
>>893
当然ありますです。
class HelloWorld {
public static void main( String[] args ) {
System.out.println("はろー");
}
}

↑をc:\HelloWorld.javaに保存

c:\>cd \
c:\>javac HelloWorld.java
c:\>java HelloWorld

やって見れ
896860:02/09/07 18:39
>>895
やってみます。ちと待っててください。
別のパソ立ち上げてきます
ハァ...
echo %CLASSPATH%
貼ってみれ
898889:02/09/07 18:40
同じエラーじゃないだろ。
888>Exception in thread "main" java.lang.NoClassDefFoundError:Test
891>Exception in thread "main" java.lang.NoClassDefFoundError:main
ちゃんと自分がコマンドラインから何を実行しているか把握して
質問しようね。でないと答えるほうも答えられん。
個人的には

Exception in thread "main" java.lang.NoSuchMethodError: main

が出てると思われ。
900860:02/09/07 18:44
>>896
だめですた。
同じエラー
Exception in thread "main" java.lang.NoClassDefFoundError:Helloworld
でした。
901860:02/09/07 18:47
>>897
それはTest.classのあるフォルダに指定されてます。(setでしました)
一応クラスファイルのある場所にあります。
C:\Document and Setting\クラスファイルのあるところ
902860:02/09/07 18:57
>>898
すいません。今日初めてまだ1時間もたってないので。。。。。許してください。
一応
javac(クラスファイル作成)
java (実行)
set CLASSPATH (ユーザー指定のクラスのあるカレント)
と理解しているつもりですた。

>>899
でてませんです。ハイ
903889:02/09/07 19:06
いや、各コマンドの意味を理解しているかじゃなくてね、
888のエラーはTestがみつからんっていっているエラーで
891のエラーは(クラス名として)mainがみつからんっていっているエラーなんだよ。
ってことは、888のときはjava Testってやってて、
891のはjava -cp . main ってやってんだよ、きっと。もしくは
ソース中のクラス名を変えたか。で、どっちも889に書いたのとは
違うでしょ。で、そういうの把握している?っていっているわけ。
ハァ...
入力(実行)したコマンドと実行結果をまとめてコピーしろよ。せいぜい数行だろ
嘘書いてるとしか思えん
905860:02/09/07 19:09
>>903
なるほど。わかりやすいです。

java -cp や -classpathでエラーってことは
やっぱり、パスが通ってないってことなんでしょうか?
でもcd してきちんとファイルのある場所まで移動してるんですが・・・・・・
それともXPでは無理とか?
906860:02/09/07 19:11
>>904
全く嘘なんか言ってません。
普通にやってます。
ソースつくってjavacでクラスにしてjavaで実行ですよね。
ちとまっててください。
907860:02/09/07 19:17
@JDK1.3.1をインスコ
Aマイコンピュータのプロバティで環境変数をC:\jdk1.3.1_10\binに通す。
B先ほどのHelloworld.javaをC:\に入れる。
Ccd C:\(もともとここにあるけどとりあえずcd)
Cjavac Helloworld.java(問題なく次のプロンプトがでてきます。)
Ddir Helloworld.class存在確認
Djava Helloworld←ここでダメ。

C:\>java Helloworld

Exception in thread "main" java.lang.NoClassDefFoundError:Helloworld
908860:02/09/07 19:18
こんなかんじです。
909860:02/09/07 19:19
バカばっか全然解決しねーじゃn。
>嘘
ここでやれって書かれたことと、お前さんが実行したことと、実行したって主張してることが
全部一致してないんだよ。
お前の言うことなんか信用できんから、実際に画面に表示されたものを貼れって言ってるんだ
>>907でできない860がおかしい。
912860:02/09/07 19:19
>>909
いやがらせはやめてください。
ハァ...
いい加減氏ねよ
set CLASSPATH=%CLASSPATH%;.
java Helloworld じゃなくて java HelloWorld だろ。
大文字小文字が完全に一致しないといけない。

>>913
今のJDKはCLASSPATHの指定はいらない
915860:02/09/07 19:23
>>913
>>914
どっちが正しいんですか?
ハァ...
type Helloworld.java
どっちもやれよ。
市販アプリの中にもCLASSPATHを設定するものがあって、そういう場合には設定しないといけない
だから設定して悪いことはない。
918860:02/09/07 19:25
>>916
だからそれは↑にでてますよ。
指定したものを書き込んだだけちゃんとClassできてるといってるじゃないですか。
set Classpathもただしくとおってます。
919860:02/09/07 19:26
DOSコマンドの紹介じゃないのでいちいちtypeなんてやらなくても
classができているので、一応(汗
920889:02/09/07 19:27
>>914
確かにカレントディレクトリはユーザクラスパスのデフォルト値だけど、
環境変数CLASSPATHによって上書きされる。
http://java.sun.com/j2se/1.4/ja/docs/ja/tooldocs/findingclasses.html
で、入門書によっては環境変数の設定をやらせるから、そのへん
怪しい可能性があるので、明示的に指定させるのはアドバイスとしては
間違ってないと思う。自分はCLASSPATHより -cp オプションのほうが
好きだけどね。
921860:02/09/07 19:27
XPだとたしかJVMがどーたらこーたらってでてたけどそれが問題なのでしょうか?
でもJDK入れたし・・・・・
>>921
で、大文字小文字は正しく指定したのですか?
>>916
だから、どうやって「正しい」と判断したんだ。全部正しけりゃ動いてるよ。
お前の言うことは信用できんから実行結果を貼れって言ってるだろ。
つべこべ言わずに
echo %CLASSPATH%
path
dir
type Helloworld.java
全部実行して貼ってみろ。変に編集するんじゃねぇ
924860:02/09/07 19:32
>>922
はい。クラスの一文字目は必ず大文字ですよね。確認しておりますです。
925889:02/09/07 19:32
>>918
895のソース中で
 class HelloWorld
ってなってんだから、javaの引数も HelloWorldだろうに。
で、916はソース読み直せっていってんだよ、きっと。じゃ俺は寝る。
>>923 >>916じゃねぇ>>918
HelloWorld
^^^^^^^^^^
W も大文字
928860:02/09/07 19:35
>>927
ハハハッWは小文字でつくっちゃいました。
でも小文字でやっておりますので大丈夫だと思いますよ。
大文字はHだけです。
ハハハッ
言われたことを素直に実行できないことを認めましたね。
>>928
もうJavaは諦めた方がいい。迷惑だ。
932860:02/09/07 19:38
んじゃ大文字にします。かわらないと思うけど
>>919
type はviewerですよ
>>931
いっそ日本人もやめてホスィ
>>932
大文字小文字は、
.java ファイルの class xXxX {...}
と、javaコマンドで引数にする xXxX が一致してないとだめなんだよ。
936860:02/09/07 19:43
>>935
一致させてます。んでHelloWorld.java

class HelloWorld{
public void main(String arg[]){
System.out.printIn("はろー");}
}

javac HelloWorld.java
のクラス作成←問題なし
java HelloWorld
↓以下のエラー
Exception in thread "main" java.lang.NoClassDefFoundError:Helloworld
ハァ...
printIn→println
>>923の通りにしろ。無い頭で編集するな。
javac HelloWorld.java
java HelloWorld
の実行結果も貼れ。頭の悪い奴の解説なんぞいらん。
938マンセー!:02/09/07 19:50
実行させたいクラスファイルの場所を指定する場合、通常のパス指定ではダメだにょ。
こういう場合は
java Helloworld -cp c:\
でよろいのでございますにょ。
そのExceptionはクラスパス先にHelloworld.classが無いってことだからにぃ。

public void main(String arg[]){

public static void main(String arg[]){

だろっ!!!!!!!!!!!!!!!!!!!!!!!!!!!
940マンセー!:02/09/07 19:52
printIn→println
劇藁にょ
>>938
この上嘘教えて混乱させるなよ。ここまで教える側に嘘は無かったのに
942860:02/09/07 19:53
>>938
うーん。それでもいきません。
java Helloworld -cp c:\
java Helloworld -classpath c:\

Exception in thread "main" java.lang.NoClassDefFoundError:main
がでてきますた。
>>939 たぶん、コピペの能力ないんだよ、手入力なんじゃないかなぁ。
とりあえず、エラーはまだクラスが見つからんレベルで
mainメソッド探すとこまでいってないから、それ以前だ。
>>895
救われないな〜
945マンセー!:02/09/07 20:02
抽象的に言っただけでウソではないにょ

public class HelloWorld {
public static void main(String[] argc) {
System.out.println("はろー");
}
}

と入力して

javac HelloWorld.java
java HelloWorld -cp c:\


でOK。いまやってみて正常に動いたにょ
先入観でプログラミングしているよね

936 :860 :02/09/07 19:43
>>935
一致させてます。んでHelloWorld.java

class HelloWorld{
public void main(String arg[]){
System.out.printIn("はろー");}
}

javac HelloWorld.java
のクラス作成←問題なし
java HelloWorld
↓以下のエラー
Exception in thread "main" java.lang.NoClassDefFoundError:Helloworld


947860:02/09/07 20:04
あー面白かった。w
>>907通りやれば普通に動くだろ。w
実行結果をULしろって言われた時はふざけてんのがバレるのでできんかったよ。
あとはうまくだませた。w
んじゃ!おれ8時半から飲み会なので!
>>860 には、問題が解決してもしなくても、
このスレとともに真でもらいたいのだが。
>>947
あきらめましたね。
>>945
何が抽象的、だ。アホらし。たまたま動いてるだけ。
for (int i = 0; i < argc.length; i++) { System.out.println(argc[i]); }
してみれば?
もう黙ってていいよ
>>945
それはね、カレントディレクトリがデフォルトユーザクラスパス
だからだよ。あなたの`-cp c:\'はargcのなかに吸い込まれている。
java.exeのオプション指定のやり方を勉強しようね。
952860:02/09/07 20:07
>945
お前ははよCDQ完成させろ、ぼけ!
こんな床で油売るな、アニオタがw
953860:02/09/07 20:08
>>949
いや最初から遊んでただけ。w
こんなの引っかかるなよ。
954860:02/09/07 20:08
俺が増えてる。。。。。
俺が本物だぞ。
いやマジで。
からかってすまんかった。
>>952
飲み会でも何でもいいから、ココから消えてください、おながいします。
>>953
あきらめましたね。
957860:02/09/07 20:09
1000!
958860:02/09/07 20:11
>>956
いやプログラム云々はどうでもよかったのです。
ただ暇だったからネタを作って遊んでいますた。
だからULしろって言われたときにはネタがバレるかとおもたよ。
959マンセー!:02/09/07 20:11
そうだったかにょ反省するにょ
960860:02/09/07 20:12
言われたとおり書けって言われて書いたら終わっちゃうだろが。
だれが書くかw
961860:02/09/07 20:12
新宿まで15分。
962860:02/09/07 20:13
1000逝きたい!
963860:02/09/07 20:13
うそついてました
ほんとに動きません
>>860
いいから消えてください、おながいします。
965860:02/09/07 20:14
俺もうそついてました。
まだ動きません。
エラーはどうすればいいんですか?
966860:02/09/07 20:15
>>964
15分の間に1000逝くか?
967860:02/09/07 20:15
では、本日、中央線の終電で逝ってきます。
さようなら・・・
968860:02/09/07 20:15
動きました!ありがとうございます!
>>860
嘘付いてても付いてなくてもどうでもいいです。頼むから氏んでください、おながいします。
970860:02/09/07 20:16
まだ、動いてません。
どうしたらいいのでしょう?
971860:02/09/07 20:16
俺に化けるなって。マジで時間が・・・・・・・・
でも1000見届けたい
972860:02/09/07 20:16
860「残像拳!!」
ベジータ「ん?」
973860:02/09/07 20:16
みんな嘘はやめてー
ほんとに動かないんだって!
974860:02/09/07 20:17
あと少し
975860:02/09/07 20:17
まじで必死に説明してるやつワラタ。
976860:02/09/07 20:18
15分切った
977860:02/09/07 20:18
あとレス14
978860:02/09/07 20:19
残念ですが、ここでは私が望んだ結果は得られないようです。
所詮2チャンネルなんですね。
さようなら。
979860:02/09/07 20:19
次はUnix板で遊んできます。
980860:02/09/07 20:20
ほんとの俺はもう飲み会に行っているはず
981860:02/09/07 20:20
おまえが遊ばれたんだよ(藁
982860:02/09/07 20:21
俺が遊んでやっただけだよ
983860:02/09/07 20:21
>981
遊ばれましたが何か?
984860:02/09/07 20:21
(;´Д`) だまされた
985860:02/09/07 20:22
俺のせいで糞スレになっちまたなぁ
986860:02/09/07 20:22
1000
9871001:02/09/07 20:23
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
988860:02/09/07 20:23
System.out.println("はろー1000")
989860:02/09/07 20:23
私はうんこです
990860:02/09/07 20:24
991860:02/09/07 20:24
私を異界送りしてくささい
992860:02/09/07 20:25
オブジェクト恥垢
993860:02/09/07 20:25
私はティムポです
994860:02/09/07 20:26
わたしはやってない、潔白だ
995860:02/09/07 20:26
私は太郎です
996860:02/09/07 20:26
必死で教えてた奴ワラウ
997860:02/09/07 20:27
>>996
私はもうこの世にはいませんが、何か?
998860:02/09/07 20:27
ボクの肛門がオーバーロードされそうです
9991000:02/09/07 20:27
1000
10001000:02/09/07 20:28
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。