【初心者】Java質問・相談スレッド78【大歓迎】
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2005/12/22(木) 11:12:49質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
http://www.wikiroom.com/java/
これからJavaでプログラミングを始めたいが、何をすればいいかわからない人も、
wikiからのリンクをおたどりください。
よくある質問
・「コマンドまたはファイル名が違います」
「'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
「Exception in thread "main" java.lang.NoClassDefFoundError: 」
http://www.wikiroom.com/java/?path,classpath
・String に == は使うな。equals を使え。
・内部クラスから外部クラスのローカル変数は使えない。他の方法を考えろ。
前スレッド
【初心者】Java質問・相談スレッド77【大歓迎】
http://pc8.2ch.net/test/read.cgi/tech/1134019617/
/* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。
質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */
また、当スレで質問をするかたは、回答をもらえたときに、
wikiの更新をして頂ければ、忝なく存じます。
JavaScriptの質問は、ここでは受け付けていません。
Web製作板をご利用ください。http://pc5.2ch.net/hp/
次スレは>>980あたりでお願いしまする。
0002デフォルトの名無しさん
2005/12/22(木) 11:33:22本を見ながら変数を入力すると結果が出るような物を作っているんですが、
JLabel jlb1 jlb2 jlb3;
のような物を配列を使って表現することは可能なんでしょうか?
String[] stringjlb = {"jlb1", "jlb2", "jlb3"};
JLabel stringjlb[0],stringjlb2,stringjlb3;
みたいな感じなのかと思ったんですが、構文エラーが出てしまいます。
0003デフォルトの名無しさん
2005/12/22(木) 11:50:35jlb[0] = new JLabel("文字列1");
・・・
0004デフォルトの名無しさん
2005/12/22(木) 12:39:49これがオブジェクト指向の全て。
お前ら難しく言いすぎ。
0005デフォルトの名無しさん
2005/12/22(木) 12:58:46ありがとうございます。
またなんかあったらよろしくお願いします。
0006デフォルトの名無しさん
2005/12/22(木) 13:10:551. ------------------------------------------------------------------------------------------------
FileInputStream fis = new FileInputStream(new File("Input.txt"));
InputStreamReader isr = new InputStreamReader(fis);
BufferedReader br = new BufferedReader(isr);
while (br.ready()) {
System.out.println(br.readLine());
}
br.close();
isr.close();
fis.close();
2. ------------------------------------------------------------------------------------------------
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(new File("Input.txt"))));
while (br.ready()) {
System.out.println(br.readLine());
}
br.close();
1.の場合、FileInputStreamもInputStreamReaderもBufferedReaderもclose()処理を入れていますが、
2.のケースですとBufferedReaderのみのclose()処理があります。
個々のインスタンスを作らずにBufferedReaderのコンストラクタの引数に直接new InputStreamReaderやnew FileInputStreamなどを指定する場合、
これに対してのclose()処理はJVMが自動で行なってくれるのでしょうか。
また、それによってメモリの使用状況なども変わってくるのでしょうか。
そこまで大したものを作るわけではないのですが、少し疑問に思ったので質問させていただきました。
0007デフォルトの名無しさん
2005/12/22(木) 14:08:47コンストラクタの引数に指定したストリームのclose()を呼び出すから大丈夫。
この場合だとBufferedReaderのclose()がInputStreamReaderのclose()を呼び出して、
InputStreamReaderのclose()がFileInputStreamのclose()を呼び出す。
1.はbr.close();だけで全部閉じるので後の2つはいらない。
0008デフォルトの名無しさん
2005/12/22(木) 14:52:05人を納得させるなら
話術を使って攻めるがよし
技術を習得しつつ話術も極めると
説得力がある。技術も無いのに話術だけあっても
胡散臭く思われるだけだからな。
もっとアジャイル開発について調べてみてくれ。
上があれこれ言ってもこちらで勝手にクラスを作ってしまうのもよし。
早い者勝ちで済まされることもあるからな。
自分で作ってこうすればこういう利点があると説明し、
実際に動いているところをみせれば
かなりの説得力がある。デザインパターンにしても同様。
ソースコードを見せてみるといい。
見せるだけでなく、実際に動かすこと。
それからコードをちょっと修正した場合のケースも見せること。
プレゼンやレポートとしてまとめてみせるのもやってみること。
Java標準APIにもデザインパターンが使われていることを示してみると良い
Javaがインストールされたときに一緒についてくるsrc.zipの
中身を解凍して彼らに見せるもよし。サンプルコードで解説だ。
00098
2005/12/22(木) 14:53:22× http://ex11.2ch.net/test/read.cgi/news4vip/1124359566/980
○ http://pc8.2ch.net/test/read.cgi/tech/1134019617/980
0010デフォルトの名無しさん
2005/12/22(木) 15:03:49何か良い方法はありませんでしょうか?
ちなみに署名有りではうまくいくのですが。。。
JEditorPane htmlPanel = null;
try {
ResourceBundle2 resBundle = ResourceBundle2.getBundle2("resources.system");
String urlString = resBundle.getString(URL);
String urlnocase = urlString.toLowerCase();
URL url = new URL(urlString);
htmlPanel = new JEditorPane(url);
htmlPanel.setEditable(false);
} catch(Exception e) {
e.printStackTrace();
}
0011デフォルトの名無しさん
2005/12/22(木) 15:10:05Javaで書いたプログラムの中でPerlのプログラムを
実行させることってできますか?
ある条件に一致したらperlのプログラムを実行させるようなのです。
0012デフォルトの名無しさん
2005/12/22(木) 15:15:05Runtimeでググれ
0013デフォルトの名無しさん
2005/12/22(木) 16:18:53JTextField[] jtf= new JTextField[6];//テキストフィールド
jlb[0] = new JLabel(" A ");//ラベル1
jlb[0].setBounds(35,20,40,20);
jtf[0] = new JTextField();//テキストフィールド1
jtf[0].setBounds(85,20,100,20);
・
・
・
jtf[6] = new JTextField();//テキストフィールド7
jtf[6].setBounds(85,20,100,20);
for(int a=0; a <= 6; a++){
gcp.add(jlb[a]);
gcp.add(jtf[a]);
}}
としたのですが、ArrayIndexOutOfBoundsExceptionエラーが出てしまいます。
何が悪いんでしょうか・・。
0014デフォルトの名無しさん
2005/12/22(木) 16:21:41釣りじゃなければ余りにも酷いので以降は参考書熟読してから来い
>JLabel [] jlb = new JLabel[6];//ラベル
で6個分しかメモリ確保してないのに
>jtf[6] = new JTextField();//テキストフィールド7
7個目の要素入れればどうなるか分かるよな?
0015デフォルトの名無しさん
2005/12/22(木) 16:22:03配列で要素を6個しかつくってないのに7個使おうとしてるだろ
その配列の添え字は 0〜5 の範囲だ
0016デフォルトの名無しさん
2005/12/22(木) 16:22:50ArrayIndexOutOfBoundsException の意味も調べとくように
0017デフォルトの名無しさん
2005/12/22(木) 17:01:41Javaで年賀状を作っていただけないでしょうか?
ソースを貼っていただけるとありがたいです
0018デフォルトの名無しさん
2005/12/22(木) 17:09:58うせろ
0019デフォルトの名無しさん
2005/12/22(木) 17:11:380020デフォルトの名無しさん
2005/12/22(木) 17:23:370021デフォルトの名無しさん
2005/12/22(木) 17:36:49なんで署名したくないんだ?
0022デフォルトの名無しさん
2005/12/22(木) 17:38:11「作っていただけないでしょうか」じゃなくて
「作り方をご教示していただけないでしょうか?」
だろ
0023デフォルトの名無しさん
2005/12/22(木) 17:57:230024デフォルトの名無しさん
2005/12/22(木) 18:45:360025デフォルトの名無しさん
2005/12/22(木) 21:22:59ttp://pc8.2ch.net/test/read.cgi/tech/1133778112/292n-
0026デフォルトの名無しさん
2005/12/22(木) 23:38:44この業界ではC言語の影響が非常に非常に強いため、
『「ポインタ」と言えば暗黙的に「C言語でポインタと呼ぶもの、またはその機能」を指す。』
↑これを認めるかどうかが『Javaに「ポインタ」があるかどうか』と同義。
だからJavaにポインタがあるなんていう奴は(ry
0027デフォルトの名無しさん
2005/12/22(木) 23:54:06インスコ→ハロー蛇場をやったあたりで挫折しちゃう。
どうすれば楽しく続けられるかな?
参考文献は「JAVAのe本」
0028デフォルトの名無しさん
2005/12/23(金) 00:09:15Javaにポインタがあると言う人は
見識も視野も広いって事でしょ
0029デフォルトの名無しさん
2005/12/23(金) 00:09:30大変ぶしつけなお願いなんですけど。。。
javaでクリスマスカードをできれば4つ作っていただけませんか?
簡単なものでよいです。
ソースを貼っていただければ幸いです。
293 名前:デフォルトの名無しさん 投稿日:2005/12/22(木) 17:00:02
ただ漠然とクリスマスカードといわれても・・・
もう少し詳しく要求仕様を書かないとどうしようもないよ。
294 名前:デフォルトの名無しさん 投稿日:2005/12/22(木) 17:00:36
課題:Javaで、年賀状を作成せよ。
どなたか助けてください!留年しちゃう!!
0030デフォルトの名無しさん
2005/12/23(金) 00:28:59あとはパイプでプリンタなりメイラーに出力しとけ
0031デフォルトの名無しさん
2005/12/23(金) 00:31:27GJ
0032デフォルトの名無しさん
2005/12/23(金) 00:53:360033デフォルトの名無しさん
2005/12/23(金) 00:53:40ったくC厨はどいつもこいつもゴチャゴチャ屁理屈うるせぇんだよ。
0034デフォルトの名無しさん
2005/12/23(金) 00:54:53close処理はfinally句でやれ。
0035デフォルトの名無しさん
2005/12/23(金) 02:29:05たまに見かける単語「フィールド変数」って何ですか?
クラス変数やインスタンス変数とはまた違うもの?
0036デフォルトの名無しさん
2005/12/23(金) 03:32:340037デフォルトの名無しさん
2005/12/23(金) 05:04:09クラスメソッドとインスタンスメソッドって
どう使い分ければ良いですか?
singletonとかと同じ感じなのでしょうか?
0038デフォルトの名無しさん
2005/12/23(金) 07:26:34ちょっおまっっっ
0039デフォルトの名無しさん
2005/12/23(金) 09:23:34下の方のサイトにおいてあるjava appletは無料で利用できるのでしょうか?
使用する際に何らかの金銭が発生しないのでしょうか?
Anfyという方は日本語の説明らしきものが載っていたのですが、
権利関係についてよく判らないので、一つのサイト内で下のサイトのjava appletが無料で自由に使えるかどうか教えていただけないでしょうか?
http://www.fouda.de/html/home/
http://www.anfyteam.com/
0040デフォルトの名無しさん
2005/12/23(金) 09:24:37サイト管理者に聞け
0041デフォルトの名無しさん
2005/12/23(金) 10:57:24抽象的な答えで悪いが、
インスタンスの状態に関わるような処理はインスタンスメソッドを使用する。
クラスメソッドはそれが関係ないときか、クラスに対する操作の時に使用。
Singleton分かってるなら分かりきった答えだろうな…すまない。
0042デフォルトの名無しさん
2005/12/23(金) 11:55:44でさあ、コンパイルしようとおもって、javac ってやったら
エラーになってさ、binフォルダみてもjavac.exeってないじゃん。
もちろんbinフォルダにPathは設定してあるよ。
どうやってコンパイルすればいいのかな?教えてクリ。
0043デフォルトの名無しさん
2005/12/23(金) 11:57:50Runtimeのみのほう落としてないか?
0044デフォルトの名無しさん
2005/12/23(金) 12:23:47SDKをおとしたよ。
0045デフォルトの名無しさん
2005/12/23(金) 12:27:480046デフォルトの名無しさん
2005/12/23(金) 12:28:290047デフォルトの名無しさん
2005/12/23(金) 12:41:10すみません。。ないです。
>>46検索したら、Cドライブ(Dドライブにインストールした)のbinディレクトリ
にあったんです。でもCドライブにbinディレクトリなんてないよ。。でも、日付がえらいふるいや。。
これは、違うな。
2回目のダウンロード→インストールなんですよ。。どうしてかな。。
0048デフォルトの名無しさん
2005/12/23(金) 12:43:37インストールするときに、何も考えずにOKとか押すのやめて
どこにインストールされるか、どんなオプションなのか確認
する癖つけた方がいいよ
0049デフォルトの名無しさん
2005/12/23(金) 12:49:48一応、DドライブにJavaというフォルダを作ってそこにインストールしました。。
Cドライブが満タンだったから。。検索してもみつからん。。昨日、インストールした
All-In-OneEclipseだと、なぜかコンパイルできるんすよ。。
変なの。。
0050デフォルトの名無しさん
2005/12/23(金) 12:54:520051デフォルトの名無しさん
2005/12/23(金) 12:56:410052デフォルトの名無しさん
2005/12/23(金) 13:12:27そうなんですか。ありがとうございました。エクリプスでいこうとおもいます。
皆々様、お手数をおかけしました。
0053デフォルトの名無しさん
2005/12/23(金) 15:14:24Cドライブを検索したがDドライブは検索してないと言うことか。
0054デフォルトの名無しさん
2005/12/23(金) 23:59:55CとかC++は知らないのですが
所謂グローバル関数的な物なんですかね??
Mathクラスとかは全部クラスメソッドですよね・・?
う〜ん
0055デフォルトの名無しさん
2005/12/24(土) 00:58:48一旦そのボタンを押すと、何故か押されたままになってしまいます。
元の押されていない状態に戻すにはどの様にしたら良いでしょうか?
0056デフォルトの名無しさん
2005/12/24(土) 01:06:57クラス変数やインスタンス変数とは異なります。
クラス変数かインスタンス変数はstaticであるかどうかであり、フィールドはメソッド内で定義されるローカル変数とは異なり、クラスに属する変数になります。
つまり、フィールドのあり方として、クラス変数かインスタンス変数があるということです。
>>37
・クラスメソッド
そのクラスの状態に関係ないメソッドに使用する。
入力されたものを変換して出力するだけのものはクラスメソッドにします。
例えば、java.lang.Mathクラスのようにユーティリティクラスに使用します。
・インスタンスメソッド
そのクラスの状態に関係のあるメソッドに使用する。
通常のオブジェクト指向的な使い方になります。
0057デフォルトの名無しさん
2005/12/24(土) 01:16:01?
0058デフォルトの名無しさん
2005/12/24(土) 03:19:33自分から破棄(メモリ開放)したいのですが
何か方法はあるのでしょうか?
swingで円や四角の図形を使ってプログラムを組んでいるのですが、
そこで描画とマウスの扱いの為に使う自前のクラスのインスタンスが
repaint()等を呼び出しても
そのインスタンスがいつまでも消えず問題になっています。
つまり、再描画はされており一見問題ないようにみえるけれども
マウスの処理が残っているため、動作において問題になっている
という状況です。
実際問題としては不必要なのですが
処理上ではまだ動作しているようなので、
GCなどでは破棄されません。
また、そのクラスのインスタンスが生成され続けると
動作に問題が出るだけでなくメモリがどんどん埋まっていく可能性があります。
0059デフォルトの名無しさん
2005/12/24(土) 03:34:09任意のタイミングでの解放は無理
自分でVM作ってください
基本的に、実装の仕方が悪い
コントローラーがイベント発生の度に生成されるんでしょ?
ありえないよ、そんな実装。
0060デフォルトの名無しさん
2005/12/24(土) 04:13:46>処理上ではまだ動作しているようなので
って事は、動作していること自体が想定外なんでしょ?
そのバグを改修する事が先だろ。
0061デフォルトの名無しさん
2005/12/24(土) 04:26:25どのようまレイアウトマネージャーが必要でしょうか
0062デフォルトの名無しさん
2005/12/24(土) 06:43:290063デフォルトの名無しさん
2005/12/24(土) 07:32:01宿題スレでソース晒したほうがいいと思うよ
自分で何をつくっているのか把握できてないと思う
0064デフォルトの名無しさん
2005/12/24(土) 09:06:15ハッキリ言って君のバグ。
006558
2005/12/24(土) 10:12:01基本的なとこを直します。
どうもありがとうございます。
0066デフォルトの名無しさん
2005/12/24(土) 11:45:36イベントリスナーとかいろいろあると思うけど
0067デフォルトの名無しさん
2005/12/24(土) 15:44:10Javaで実装したいのですが、
「こんにちは○○さん」
の○○さんをデータベースから取得して表示したいのですが
サンプルプログラム、もしくは参考サイト教えて下さい。
0068デフォルトの名無しさん
2005/12/24(土) 16:01:02JavaでHelloworld
でぐぐるといいかもしれない。
ServletからJDBCまで簡単に使える方法が載っている。
0069デフォルトの名無しさん
2005/12/24(土) 17:02:16という手法を用いる際に、受けるデータはプリミティブ型では無理なのでしょうか?
やりたいのは、
入力として任意の数(個数は動的に決定する)のintがあり、
入力の完了時に内部変数として固定長のint配列に置き換えて
以後の処理を行いたい
のですがどのようにすれば実現可能でしょうか?
ArrayListにはInteger型で追加し、置き換え時にInteger配列をint配列に置き換える、
辺りを自前で作るべきなんでしょうか…
よろしくお願い致します。
0070デフォルトの名無しさん
2005/12/24(土) 17:12:48commons primitives の ArrayIntList 使えば?
0071デフォルトの名無しさん
2005/12/24(土) 17:13:38凄く悪い答え方するけど、『基本型でも全く問題なく格納できるよ』
0072デフォルトの名無しさん
2005/12/24(土) 17:19:021.4ならそれしかないが
1.5なら
>ArrayListにはInteger型で追加し
の部分はintのままで追加できる
しかし
>置き換え時にInteger配列をint配列に置き換える
っていうのはやはり自前しか無さそう
toArray()でもそこまでやってくれなさそう
0073デフォルトの名無しさん
2005/12/24(土) 17:22:140074デフォルトの名無しさん
2005/12/24(土) 17:27:05007569
2005/12/24(土) 17:28:55現在の環境、環境を変更する権限を持たないことを考慮すると
自前で書いちゃった方がよさそうですね。
沢山アドバイスありがとうございました。
0076デフォルトの名無しさん
2005/12/24(土) 17:44:55窓の大きさを変えると毎回図形が消えてしまいます。
大きさを変えてもグラフィックが残るようにするにはどうすればいいんでしょうか。
0077デフォルトの名無しさん
2005/12/24(土) 17:56:58お勧めしないが
ByteArrayOutputStreamにintをbyte*4として突っ込み
toByteArrayでできたbyte[]をByteBufferにラップし
asIntBufferでIntBufferに変換してそこからint[]にする。
0078デフォルトの名無しさん
2005/12/24(土) 17:57:150079デフォルトの名無しさん
2005/12/24(土) 18:03:21まずは、ダブルバッファリングで検索かけて、それを理解すること。
もう一つは、ウィンドウのリサイズで描画範囲が変わっているので、
それを意識したプログラミングをすること。
最初はこのくらいかな。
0080デフォルトの名無しさん
2005/12/24(土) 18:07:55図形の描画はOnPaintに描くんだよ
0081デフォルトの名無しさん
2005/12/24(土) 18:13:110082デフォルトの名無しさん
2005/12/24(土) 18:29:490083デフォルトの名無しさん
2005/12/24(土) 18:36:12レイアウトマネージャについて勉強して
0084デフォルトの名無しさん
2005/12/24(土) 18:39:46まずぐぐれよ
0085デフォルトの名無しさん
2005/12/24(土) 19:29:48SwingならpaintComponent()の中で描画してる?
0086デフォルトの名無しさん
2005/12/24(土) 19:32:11知らないからって・・・
0087eclipse
2005/12/24(土) 19:46:520088デフォルトの名無しさん
2005/12/24(土) 19:47:390089eclipse
2005/12/24(土) 19:54:180090デフォルトの名無しさん
2005/12/24(土) 19:58:180091デフォルトの名無しさん
2005/12/24(土) 19:59:11まぁMac OSXなら最悪Linux版のをエミュレートして実行できるかもしれないね
0092eclipse
2005/12/24(土) 20:08:140093デフォルトの名無しさん
2005/12/24(土) 20:09:290094eclipse
2005/12/24(土) 20:13:350095デフォルトの名無しさん
2005/12/24(土) 20:15:150096デフォルトの名無しさん
2005/12/24(土) 20:15:240097デフォルトの名無しさん
2005/12/24(土) 20:16:17そこは確実にわかった上でバカにしてるんだと想像
0098デフォルトの名無しさん
2005/12/24(土) 20:17:51サンドボックスの制限に引っかかるはずだから無理なんじゃない?
0099デフォルトの名無しさん
2005/12/24(土) 20:22:46SWTのスレで聞いたら?
0100デフォルトの名無しさん
2005/12/24(土) 20:23:00(´・ω・)っ ttp://www-128.ibm.com/developerworks/forums/dw_thread.jsp?message=29539&cat=10&thread=7409&forum=202
>>98
_, ,_
( ゚Д゚) ・・・
0101デフォルトの名無しさん
2005/12/24(土) 20:23:41SWT_AWTってのがあるらしいからそれもあり
ただしSWT自体がアレですので
0102デフォルトの名無しさん
2005/12/24(土) 20:31:300103デフォルトの名無しさん
2005/12/24(土) 20:40:28それは誤解だな。
普通にPure JavaアプリもEclipseもTomcatも動いてるよ。
0104デフォルトの名無しさん
2005/12/24(土) 23:59:10CommPortIdentifierがポート名を一つも返しません。
サンからのCommunicationsAPIに付属しているサンプルプログラム(SerialDemo.java)をコンパイルして走らせてみたのですが、ポート選択のリストボックスに何も出ない状態です。
コンパイル・実行とも、エラーメッセージ等は一切出ません。
OSでポートは認識されているし、デバイスの競合も無し。
WindowsXP,Linux、両方(ハードウェアも違う)で試しましたが、どちらも駄目です。(現在SunはWindows版のCom~APIの公開をやめています)
ルートやアドミニストレーター権限でログインして試しました。
原因としてどういう可能性が考えられるでしょうか?
0105デフォルトの名無しさん
2005/12/25(日) 00:30:010106デフォルトの名無しさん
2005/12/25(日) 01:01:550107デフォルトの名無しさん
2005/12/25(日) 01:10:00認識できてるの?
0108デフォルトの名無しさん
2005/12/25(日) 04:47:07public void insert();
public givePresent(String obj);
}
ここのは居心地が良いな〜
0109デフォルトの名無しさん
2005/12/25(日) 06:07:18. / / /// ./ / /j / // 〃!|| | ||ll| | | ヽヽ ヽ | | |, -──- 、 /
i l l l l ll l /!.| ,! / | /゙!゙"゙"゙"゙ll| | | !�_ヾ゙r、,__.l ,. -‐''´ ̄`ーァ'"´ ヽ、/
l !. | | | |l | || li |/| l| ! | l! ! | | |ミミヾ,| .l7lー‐- 、 __/
| | | | |l l. _lki'l |! l! l+-l、_ ,j l/,!.l |三ニ、jイ l l三ヽ | r'´ _
l i l l lヽ, i´ !_i!ヽl l l! __ `メノl !l ! |=、ニ/ ! l/ヽ== 、-‐'"´ ̄ ̄`ヽ、 / /
ヽヽ ヽ ヽ,r=ミ ! ,. ==ミ、 /// j l、 }彡r'、\ \ l�_、 ̄`丶、 \ / |
,. -─-、ヽヽヽヽ!::::::::: , / ::::::::::: `/// //'∠ !_{,l、 \ヽヽ, | !l ̄`ー-、`ヽ 、 / __ l、
/,r‐,=≧--‐'´__.', ___ /ノ/ //´ヽj \ ̄ ̄二>‐、-!!,_ \ r'´ /ヽ l | l
/rチ'"´ _,ィャヶ'´rt‐\. l'´ ! ///./ / lヽ/'´ ̄ | ヽ, `ヽ、 \‐' } | r ! lノ l
/_,.ィ=彡/ l ! \ ー' / / / // l、 ヽ, \ ヽヽ lノ / 」/ ヽ
12月24日の午後9時から翌25日の午前3時までの6時間は
1年間で最もセックスをする人の多い「性の6時間」です。
貴方の知り合いや友人ももれなくセックスをしています。
普段はあどけない顔して世間話してるあの娘もセックスをしています。
貴方が片想いしているあの綺麗な女性もセックスをしています。
貴方にもし年頃の娘さんや姉・妹がいて、いま家にいないのでしたら間違いなくセックスしてます。
貴方と別れたあの娘も貴方がその娘にやってきたことを別の男にやられています。
貴方の将来の恋人や結婚する相手は、いま違う男のいちもつでヒィヒィ言っています
0110104
2005/12/25(日) 09:34:390111デフォルトの名無しさん
2005/12/25(日) 10:44:24hoge = "1";
hoge = "2";
とするとhogeの中身が変わるのではなく
hogeの参照位置が変わると思うのですが
hogeの中身だけを変えたい場合はどうすればよいでしょうか?
0112デフォルトの名無しさん
2005/12/25(日) 10:47:18Stringオブジェクトは変更不可能なオブジェクトなのです
なので、どうしようもありません。
どうにかしたければStringBufferやStringBuilder使うか、
SmalltalkみたくCollectionを継承したクラスとして
新しいStringを実装してください
0113デフォルトの名無しさん
2005/12/25(日) 11:13:27Stringに関していえば>>112の内容
一般的にオブジェクトの状態を変えたければ
オブジェクトが持っているメソッドをコールする
=は代入演算子だから変数が参照すべきオブジェクトを
指定しているだけで、状態を変えるものではない
0114デフォルトの名無しさん
2005/12/25(日) 11:42:03さんくつ。
なるほど。そうですよね。
よく考えるとできるほうがおかしいですね。
ありがとうございました。
0115デフォルトの名無しさん
2005/12/25(日) 15:26:15アクセスする方法があれば教えてください。
0116デフォルトの名無しさん
2005/12/25(日) 15:28:100117デフォルトの名無しさん
2005/12/25(日) 15:48:34(C) Copyright 1985-2001 Microsoft Corp.
C:\> のC:\ >が消えないのですが。
全くの初心者です。
0118デフォルトの名無しさん
2005/12/25(日) 15:52:530119デフォルトの名無しさん
2005/12/25(日) 16:20:390120デフォルトの名無しさん
2005/12/25(日) 16:25:290121デフォルトの名無しさん
2005/12/25(日) 16:38:17prompt $h
prompt $_$_$_$_$_$_$_$_$_$_$_$_$_$_$_$_$_$_$_$_$_$_$_$_$_$_$_$_$_$_
0122デフォルトの名無しさん
2005/12/25(日) 18:07:07String s1="test";
String s2="test";
if(s1==s2) {
System.out.println("おなじ");
}
else {
System.out.println("違う");
}
さぁ どっちが表示される?
いや、通常どっちが表示される?のほうがいいかな?
0123デフォルトの名無しさん
2005/12/25(日) 18:14:35違う
0124デフォルトの名無しさん
2005/12/25(日) 18:18:13なんだ?「通常」とかいうのは
常に"違う"だ、きちんと規定されている
仮に文字列の一致を確かめるならequals()使う
0125デフォルトの名無しさん
2005/12/25(日) 18:28:39言語規定に従ってるなら「おなじ」。
> 各文字列リテラルは,クラスString(4.3.3)のインスタンス(4.3.1,12.5)への参照(4.3)とする。
> Stringオブジェクトは,定数値をもつ。文字列リテラル(より一般的には,
> 定数式(15.28)の値となる文字列)は,メソッドString.internを使用して,
> 一意なインスタンスを共有するために"intern"される。
0126デフォルトの名無しさん
2005/12/25(日) 18:41:28は?
0127デフォルトの名無しさん
2005/12/25(日) 18:44:350128デフォルトの名無しさん
2005/12/25(日) 18:45:400129デフォルトの名無しさん
2005/12/25(日) 18:56:29きちんと規定されている、なんてよくも言えたものだ。
おまいの組むプログラムはバグだらけだったりパフォーマンスに問題が出たりしそうだな。
ちなみに、
String s1 = new String("test");
String s2 = new String("test");
if (s1 == s2) {
System.out.println("おなじ");
}
else {
System.out.println("違う");
}
この場合は"違う"だ。
ちゃんと勉強し直せよ。
0130デフォルトの名無しさん
2005/12/25(日) 19:05:32結果が不定だからやっちゃいかんということだね。
得意になってる>>129も痛いが、いったい何に使うつもりだい。
0132デフォルトの名無しさん
2005/12/25(日) 19:55:540133デフォルトの名無しさん
2005/12/25(日) 20:05:23すまん、「通常」じゃない状況を教えてくれ
0134デフォルトの名無しさん
2005/12/25(日) 20:27:50String s1 = "test";
String s2 = "test";
通常じゃない
String s1 = new String("test");
String s2 = new String("test");
とか
char[] c = {'t', 'e', 's', 't'};
String s1 = new String(c);
その他、変なVMを使った場合(漏れは見たことがないが・・・)
0135デフォルトの名無しさん
2005/12/25(日) 20:30:48言語仕様に通常も何もないわけだが。
リテラルがらみの言語仕様をまとめると以下のような感じだな。
String s = "hoge";と定義されているとき、
1.リテラル文字列
→同じオブジェクトへの参照を表現する。
s == "hoge" → true
2.定数式によって計算される文字列
→コンパイル時に計算され,リテラルであるかのように扱われる。
s == ("ho" + "ge") → true
3.実行時に計算される文字列
→新しく生成されるものであって,別の文字列とする。
String ge = "ge";
s == ("ho" + ge) → false
4.計算された文字列を明示的に収容(intern)した結果
→同じ内容をもつ既存のリテラル文字列と同じ文字列とする。
String ge = "ge";
s == ("ho" + ge).intern() → true
0136デフォルトの名無しさん
2005/12/25(日) 20:32:420137デフォルトの名無しさん
2005/12/25(日) 20:33:52String s1 = "test";
String s2 = "test";
通常じゃない
String s1 = new String("test");
String s2 = new String("test");
意味ちがうから当たり前どと思うが
0138デフォルトの名無しさん
2005/12/25(日) 20:37:18Calendar型の比較メソッドの after() や before() 辺り、引数が
Calendar型ではなくObject型になっているのはなぜなんでしょうか。
類似の日付型でも判定してくれるのかとDate型を渡してみても
正しく判定されてるようではないですし…
下らん疑問ではありますが何か理由があるのだとしたら今後の
参考にしたいと思いますのでよろしくお願いします。
0139デフォルトの名無しさん
2005/12/25(日) 20:41:46いろいろ設計が間違えている
0140デフォルトの名無しさん
2005/12/25(日) 20:47:55わからん。設計者に聞けって感じだな。
Calendar以外のものをぶち込めるようにしたかったんだろうなぁ。
0141138
2005/12/25(日) 20:54:01>>140
むむぅー。設計者のみぞ知る…ですか…
ぐっと飲み込んで気にするな、ってとこですかね…;
レスありがとうございました。
0142デフォルトの名無しさん
2005/12/25(日) 21:06:480143デフォルトの名無しさん
2005/12/25(日) 21:15:01自分で作ってみたのですがうまくいかないのでどこがいけないのか
アドバイスもらえると嬉しいです。
interface Animal1{
void eat();
}
interface Dog1 extends Animal1{
void run();
}
interface Bird1 extends Animal1{
void fly();
}
class OldException extends Exception{
OldException(String message){
super(message);
}
}
0144続き
2005/12/25(日) 21:16:01int age;
Shiba1(int age)throws OldException {
if(age < 5){
this.age = age;
}else throw new OldException{
System.out.println("年齢が高すぎます" + age + "歳");
}
}
int getAge(){
return this.age;
}
public void eat(){
System.out.println("シェパードが食べます");
}
public void run(){
System.out.println("シェパードが走ります");
}
}
0145続き
2005/12/25(日) 21:17:06String name;
Swan1(String name)throws OldException {
if(age < 5){
this.age = age;
}else throw new OldException{
System.out.println("年齢が高すぎます" + age + "歳");
}
}
int getAge(){
return this.age;
}
public void eat(){
System.out.println("白鳥が食べます");
}
public void fly(){
System.out.println("白鳥が飛びます");
}
}
0146続き
2005/12/25(日) 21:17:47public static void main(String[] args){
try{
Animal1[] animal = {new Shiba1(4),new Swan1(3)};
System.out.println("年齢を設定しました");
for(int j = 0;j < animal.length;j++){
System.out.println("年齢は" + animal[j].getAge() + "歳です。");
}
}catch(OldException oe){
System.out.println(oe.getmessage);
}
for(int i = 0; i < animal.length; i++){
animal[i].eat();
if(animal[i] instanceof Shiba1){
((Shiba1)animal[i]).run();
}else if(animal[i] instanceof Swan1){
((Swan1)animal[i]).fly();
}
}
}
}
0147デフォルトの名無しさん
2005/12/25(日) 21:24:41throw new OldException{
System.out.println("年齢が高すぎます" + age + "歳");
}
これって
throw new OldException("年齢が高すぎます" + age + "歳");
って書きたいのじゃないの?
0148デフォルトの名無しさん
2005/12/25(日) 21:28:410149デフォルトの名無しさん
2005/12/25(日) 21:34:43見て無いが販売元のサイト見て正誤表が無いか調べるのが一番早い気がする
0150143
2005/12/25(日) 21:35:55ほんと間違えまくってますね・・・。
とりあえず int age;を設定して
>>147さんに指摘してもらったところを
Shiba1(int age)throws OldException {
if(age < 5){
this.age = age;
}else{
throw new OldException("年齢が高すぎます" + age + "歳");
}
}
に変えてみたのですが(Swan1も同様に)どうもうまくいきません。
自分的には
class Shiba1 implements Dog1 extends OldException{
↑
この一文が不安なのですが・・・。
0151デフォルトの名無しさん
2005/12/25(日) 21:37:33Swan1には数値を取るような引数を持ったコンストラクタはない。
メソッド名の間違い oe.getmessage → oe.getMessage();
0152デフォルトの名無しさん
2005/12/25(日) 21:40:12参考書に載っている問題を元に、年齢が高い時だけ例外をスローするように
自分が勝手に付け加えたのでそれは出来ないんですよ。
0153デフォルトの名無しさん
2005/12/25(日) 21:43:50普通はimplementsよりもextendsが先だし、OldExceptionを継承して何するの?
Shiba1もSwan1もそれ自体は例外ではないと思うが。
それと、151のはじめ2行は自分で気づいたようなので気にしないで。
0154デフォルトの名無しさん
2005/12/25(日) 21:52:460155デフォルトの名無しさん
2005/12/25(日) 21:57:25さっき Shiba1とSwan1にextends OldException{は要らないことに気がつきました。
そしてTestクラスを
try{
Animal1[] animal = {new Shiba1(4),new Swan1(3)};
System.out.println("年齢を設定しました");
for(int j = 0;j < animal.length;j++){
System.out.println("年齢は" + animal[j].getAge() + "歳です。");
for(int i = 0; i < animal.length; i++){
animal[i].eat();
if(animal[i] instanceof Shiba1){
((Shiba1)animal[i]).run();
}else if(animal[i] instanceof Swan1){
((Swan1)animal[i]).fly();
}
}
}
}catch(OldException oe){
System.out.println(oe.getMessage());
}
}
}
に変えてみたところとりあえずエラーが一つになりました。
もう少しがんばってみます。
0156デフォルトの名無しさん
2005/12/25(日) 22:04:43age,getAge()をAnimalが持ってやれば
0157デフォルトの名無しさん
2005/12/25(日) 22:04:46これではブロックの中でしかアクセスできない。
0158143
2005/12/25(日) 22:05:20レスくれた方ありがとうございました!
>>154
ご指摘ありがとうございます。その通りでした。
そのアドバイスを修正していくと出来ました。
どうもありがとうございました。
0159デフォルトの名無しさん
2005/12/25(日) 22:13:40-128以上127以下の整数をランダムで10個ほど生成したいんですが、どうすればよいでしょうか?
0160デフォルトの名無しさん
2005/12/25(日) 22:16:250161デフォルトの名無しさん
2005/12/25(日) 22:18:410162デフォルトの名無しさん
2005/12/25(日) 22:33:11サンテェス
やっぱりint型ですよね
なにか特別な型でも使うのかと思ってました
0163159
2005/12/25(日) 22:40:02161ありがとう!
0164デフォルトの名無しさん
2005/12/25(日) 22:54:25Java Image I/O は J2SE 1.4 からコアパッケージとなりましたが、
それ以前はオプションパッケージとして存在していたわけですよね?
それはバージョンいくつのときだったったのでしょうか?
0165デフォルトの名無しさん
2005/12/26(月) 00:09:08>>161は釣りだよ
0166デフォルトの名無しさん
2005/12/26(月) 03:42:00Javaではどうやって取り出したらいいんでしょうか?
0167デフォルトの名無しさん
2005/12/26(月) 03:49:330168デフォルトの名無しさん
2005/12/26(月) 08:31:52画像処理のとこで聞きな
0169デフォルトの名無しさん
2005/12/26(月) 12:57:11http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/imageio/spec/title.fm.html
0170デフォルトの名無しさん
2005/12/26(月) 16:39:28単純なサンプルプログラムないでしょうか?
0171デフォルトの名無しさん
2005/12/26(月) 16:45:27デザパタ本みたほうが分かりやすいと思う
0172デフォルトの名無しさん
2005/12/26(月) 16:49:40ビンボーなのでWebページでお願いします(;。;)
または、誰かソース書いてくれないかな…。
Buttonのソース読んだんですけど、ごちゃごちゃしてわかりませんでしたorz
0173170
2005/12/26(月) 16:52:12えーと、interface作って、Lisner登録する側はそのinterfaceをimplementsしなきゃいけないということはわかるのですが…
0174デフォルトの名無しさん
2005/12/26(月) 17:01:54独自イベントを発生させるクラスを作る
独自イベントを受取るクラスを作る
以上
0175デフォルトの名無しさん
2005/12/26(月) 17:05:16> 独自イベントを作る
extends java.util.EventObject
> 独自イベントを発生させるクラスを作る
add~Listener
remove~Listener
fire~Listener
> 独自イベントを受取るクラスを作る
>>173
> 以上
0176デフォルトの名無しさん
2005/12/26(月) 17:12:38Swingのイベント周り見るとよく分かるよ
APIのソースよめというわけだ
Sunのコードは分かりやすいから大丈夫だと思う
0177170
2005/12/26(月) 17:31:09ありがとうございます。
0178デフォルトの名無しさん
2005/12/26(月) 17:45:17JUnitのソース読め。
TestResult.java
TestListener.java
いいサンプルだ。
0179デフォルトの名無しさん
2005/12/26(月) 17:50:180180デフォルトの名無しさん
2005/12/26(月) 18:06:51byte[] data;
InputStream in=null;
try
{
in=Connector.openInputStream("scratchpad:///0;pos=0");
size=(int)(in.read()&0xFF);
data=new byte[size];
if(size>0)
{
in.read(data);
text=new String(data);
}
in.close();
}
Iアプリのプログラムなんですが
(in.read()&0xFF);の部分で何をやっているのか良くわかりません
read():10101010
&
0xFF :11111111
= :10101010
で&0xFFの意味がないと思うんですが
0181デフォルトの名無しさん
2005/12/26(月) 18:09:13ソースを貼り付けて欲しいと思うのは俺だけか・・・。
インデントが無いのが激しく見づらい。
0182デフォルトの名無しさん
2005/12/26(月) 18:10:03オートインデントさせるからどうでもいいな。
0183デフォルトの名無しさん
2005/12/26(月) 18:13:32-1 が返ってきた時に NegativeArraySizeException で落ちたくないとか。
書いてみた人に聞いてみんとわからんけど。
0184デフォルトの名無しさん
2005/12/26(月) 18:15:57unsignedが無いから
0185デフォルトの名無しさん
2005/12/26(月) 18:28:24InputStream#read() の戻り値は int型で 0 〜 255 にマップされる。
0186デフォルトの名無しさん
2005/12/26(月) 18:29:21in.read()で読み込んだビットが符号なし10000001(10進で129)だった場合
符号あり10000001(10進で-1)に変換するってことでしょうか?
ビット周りよくわかってないんで見当違いな事聞いていたらすみません
0187デフォルトの名無しさん
2005/12/26(月) 18:38:58iモード携帯電話用Java(iアプリ) Part10
http://pc8.2ch.net/test/read.cgi/tech/1131603113/
0188デフォルトの名無しさん
2005/12/26(月) 19:32:25ありがとうございます
javax.imageio.metadata を使って読めました
0189デフォルトの名無しさん
2005/12/26(月) 20:15:060190デフォルトの名無しさん
2005/12/26(月) 21:01:59JComboBoxを使う時に
combo = new JComboBox();
combo.addItem("itemA");
combo.addItem("itemB");
combo.addItem("itemC");
という風に設定してコンボボックスを表示した時、
最初に追加したitemA以外を初期値として表示する事は可能でしょうか?
わかりにくい説明ですいません。
0191デフォルトの名無しさん
2005/12/26(月) 21:19:16API見ろ
0192デフォルトの名無しさん
2005/12/26(月) 21:35:19JComboBox#setSelectedIndex(int anIndex) または
JComboBox#setSelectedItem(Object anObject)
でできる
0193デフォルトの名無しさん
2005/12/26(月) 21:36:030194デフォルトの名無しさん
2005/12/26(月) 21:36:07難しいことは何にもないし
0195デフォルトの名無しさん
2005/12/26(月) 21:42:03だよなー
0196デフォルトの名無しさん
2005/12/26(月) 21:46:16いや、さすがムー板だ。此処だけは本物が揃ってるわ・・・
つーか根性入りまくりだ
統合開発環境とか金出して買う奴の顔が見たいって連中ばっかだよ
0197デフォルトの名無しさん
2005/12/26(月) 22:06:16ちゃんとできていることを証明したいので、一括してチェックするツールはないのでしょうか?
0198デフォルトの名無しさん
2005/12/26(月) 22:10:03意味のないnullセットしてるやついたらぶん殴る
0199デフォルトの名無しさん
2005/12/26(月) 22:12:250200197
2005/12/26(月) 22:13:49失礼しました。
close()はFindBugsでチェックできてました。
残るはnullセットができているかチェックしたいです。
0201デフォルトの名無しさん
2005/12/26(月) 22:15:27プログラマ辞めれば
0202デフォルトの名無しさん
2005/12/26(月) 22:18:290203デフォルトの名無しさん
2005/12/26(月) 22:28:110204デフォルトの名無しさん
2005/12/26(月) 22:40:03Javaの理論と実践: ガベージコレクションとパフォーマンス
http://www-06.ibm.com/jp/developerworks/java/040312/j_j-jtp01274.html
グーグル先生に聞いて見つけたものだけど
0205デフォルトの名無しさん
2005/12/26(月) 22:53:42先生有り難うございます!
0206デフォルトの名無しさん
2005/12/27(火) 00:30:46これは推奨できない
意識的にnullいれるようなところはやめてかわりに変数のスコープを制限すべし
{ }
使ってね
0207デフォルトの名無しさん
2005/12/27(火) 06:04:18RSS用のライブラリはいっぱいあるようなのですが・・・。
あるデータのメタデータをちょっとRDFで吐いて読みたいだけなので、
標準ライブラリのXMLクラスを使ってゴリゴリ書いてもいいのですが、
ちゃんと動いている奴があるのならそっちを使った方がいい気がするので。
0208197
2005/12/27(火) 07:12:58スコープ制限はやっています。
使い回しはしていないです。
アプリサーバ上で動いてる分なんですが、たまにパンパンになって、
gcかかりまくりレスポンス悪くなるので。
0209デフォルトの名無しさん
2005/12/27(火) 07:28:480210デフォルトの名無しさん
2005/12/27(火) 12:30:48鯖のパフォーマンス調整の問題なのになんでnullセットという思いつきしたのかが気になるところだ
0211デフォルトの名無しさん
2005/12/27(火) 15:50:370212デフォルトの名無しさん
2005/12/27(火) 15:57:23そんなことねぇよ
0213デフォルトの名無しさん
2005/12/27(火) 16:00:35どっちかといえば、プログラマーの参照消し忘れ防止効果じゃね?
0214デフォルトの名無しさん
2005/12/27(火) 16:05:130215デフォルトの名無しさん
2005/12/27(火) 16:15:35ん?
0216デフォルトの名無しさん
2005/12/27(火) 16:35:05参照カウントだけでやったら循環参照に対応できないし、
マルチスレッドを前提にすると、参照カウンタにアクセスするのに
排他処理が必要になるから下手すると mark/sweep より遅くなるかもよ。
0217デフォルトの名無しさん
2005/12/27(火) 16:39:17C# と勘違いしてるのかな?
0218デフォルトの名無しさん
2005/12/27(火) 16:42:280219デフォルトの名無しさん
2005/12/27(火) 16:43:47結局は>>204
0220デフォルトの名無しさん
2005/12/27(火) 17:15:46並列GCやってないとひどいことにはなる
nullセットしてたらその会社からはもう仕事とらんけどな
0221デフォルトの名無しさん
2005/12/27(火) 17:55:06ttp://www.sw.nec.co.jp/innovation/it/java/topics02.html
ttp://www-6.ibm.com/jp/developerworks/java/030110/j_j-refs.html
ttp://www-06.ibm.com/jp/developerworks/rational/library/test/0407b.html
0222デフォルトの名無しさん
2005/12/27(火) 18:01:340223デフォルトの名無しさん
2005/12/27(火) 18:05:570224デフォルトの名無しさん
2005/12/27(火) 18:14:530225デフォルトの名無しさん
2005/12/27(火) 19:24:21Javaをインストールできません。
Winなのでインストーラ版を落として実行すると、異常終了してしまいます。
試しにMSIのバージョンを3にしてみたら、インストール画面がでてくるようになったのですが、コンポーネントの選択みたいなとこから「次へ」を押した瞬間に異常終了します。
何か心当たりがある方はいらっしゃいますか?
(JDK/1.5.0をWinXPにインストールしようとしてます。)
0226デフォルトの名無しさん
2005/12/27(火) 19:27:250227デフォルトの名無しさん
2005/12/27(火) 19:28:170228デフォルトの名無しさん
2005/12/27(火) 19:32:442重のclose気持ち悪いからnull代入してfinallyでは実行しないようにするのと、finally以外にclose書かないのどっちが良いと思う?
0229225
2005/12/27(火) 19:33:50即レスどうもです!
XPは2年間以上まともに動いてます。(逆にそのせいで色々インストールしすぎたのが原因?)
ダウンロードは何度かやり直してみたのですが、毎回同じ結果に終わってしまいます。
通常はこんなこと起こりえませんよね・・・?
0230デフォルトの名無しさん
2005/12/27(火) 19:42:38finallyで実行しないってなんだ?
普通はfinally以外でcloseは書かない
0231デフォルトの名無しさん
2005/12/27(火) 19:44:25WindowsUpdateしてる?
0232デフォルトの名無しさん
2005/12/27(火) 20:10:47FileReader fr = null;
try {
fr = new FileReader("test.txt");
int i = 0;
while ((i = fr.read()) != -1) {
System.out.print((char)i);
}
} catch(IOException e) {
e.printStackTrace();
} finally {
try {
if (fr != null) {
fr.close();
}
} catch(IOException e) {
e.printStackTrace();
}
}
0233デフォルトの名無しさん
2005/12/27(火) 20:19:48どの変が気持ち悪いかしらんけど
普通のコードでしょ?
これ以外の書き方はないと思うけど
0234デフォルトの名無しさん
2005/12/27(火) 21:19:18null入れるのbeaの人から教わった。
0235デフォルトの名無しさん
2005/12/27(火) 21:27:52俺って天才かもしれん
0236デフォルトの名無しさん
2005/12/27(火) 21:28:230237デフォルトの名無しさん
2005/12/27(火) 21:52:02聞いてやるから言ってみろ
0238デフォルトの名無しさん
2005/12/27(火) 22:50:18個数を入力したら自動的に合計金額を計算。ただし,個数に数字以外の文字列を入力した場合は,赤文字に変更して間違い個所がわかるようにする
ようなものを作っているのですが、とにかく動きません。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1356.txt
でソースを表示して間違い箇所の指摘をお願いします。
0239デフォルトの名無しさん
2005/12/27(火) 22:55:17それJavaじゃないです。。
0240デフォルトの名無しさん
2005/12/27(火) 22:56:33それはJavaじゃなくてJavaScriptという別物なのね。
Web制作
+ JavaScript の質問用スレッド vol.44 +
http://pc8.2ch.net/test/read.cgi/hp/1134536221/
0241デフォルトの名無しさん
2005/12/27(火) 23:08:52try {
FileReader fr = new FileReader("test.txt");
try {
int i = 0;
while ((i = fr.read()) != -1) {
System.out.print((char)i);
}
} finally {
fr.close();
}
} catch (IOException e) {
//e.printStackTrace();
throw new IllegalStateException(e);
}
0242デフォルトの名無しさん
2005/12/27(火) 23:51:450243デフォルトの名無しさん
2005/12/28(水) 00:22:14それはよくある誤解だよ。
昔はそれで通じたけど。
nullを入れたらかえってパフォーマンス低下に繋がることも。
詳しくは dw ガーベッジコレクタ null でぐぐって
0244デフォルトの名無しさん
2005/12/28(水) 00:32:14何を処理しなくちゃいけないの?
0245デフォルトの名無しさん
2005/12/28(水) 00:32:341.3.1でもぶんなぐるけど
0246デフォルトの名無しさん
2005/12/28(水) 00:33:10ものによっちゃ例外時にロールバックとか処理しなきゃいけないようなこともあるでしょ
0247デフォルトの名無しさん
2005/12/28(水) 00:49:00どゆこと?
0248デフォルトの名無しさん
2005/12/28(水) 00:51:14昔はfinalつけるかつけないかでパフォーマンスが変わっていた
finalをとにかくつけて現場を混乱させていたやつもいたということだ
0249デフォルトの名無しさん
2005/12/28(水) 00:52:300250デフォルトの名無しさん
2005/12/28(水) 00:57:23…… Immutable なオブジェクト作るために final 使いまくった記憶アリ。許せ OTL
0251デフォルトの名無しさん
2005/12/28(水) 00:58:17この手の分野でも、finalを付けても動作に影響がない場合には、
自動的にfinalを付けるようコンパイル後にバイトコードを再構築
するポストプロセッサがあって、ソースレベルでfinalを意識する必要はなくなってきている。
0252デフォルトの名無しさん
2005/12/28(水) 01:05:52ポリモーフィズムの必要性が出てきたところでインタプリタに戻す
というような話を、少し昔に聞いた覚えがある。
が immutable なオブジェクトや、継承を想定して作ったクラス以外は、
オブジェクトの整合性を守るために final 使いまくりなのではないのか?
SWT のように、「final じゃないけど、継承禁止」とか
文書化する手もあるだろうが、これって、普通なのだろうか。
0253デフォルトの名無しさん
2005/12/28(水) 01:10:18組み込みでfinalやるとメモリ余分に食うと聞いたが。
finalは誤って値を代入することを防ぐことができる利点がある。
メソッド引数にも使える。
finalをよく使う例は不変クラスの作成かな
0254デフォルトの名無しさん
2005/12/28(水) 01:26:21FileReader fr = new FileReader("test.txt");
try {
int i = 0;
while ((i = fr.read()) != -1) {
System.out.print((char)i);
~~~~~~
↑何これ?
0255デフォルトの名無しさん
2005/12/28(水) 01:27:270256デフォルトの名無しさん
2005/12/28(水) 01:27:330257デフォルトの名無しさん
2005/12/28(水) 01:27:560258デフォルトの名無しさん
2005/12/28(水) 08:11:20この中のk.classというファイルをデコンパイルしようといろいろ試しているのですが、どうしてもできんとです。
できる方お願いします
0259デフォルトの名無しさん
2005/12/28(水) 08:45:44(char)つけないと
あ→12354
い→12356
のように出力されました。
0260デフォルトの名無しさん
2005/12/28(水) 12:05:01どこが悪いのでしょうか?
whoコマンドでユーザを確認できるのでログインまでは上手くいっているようです。
もしかしてJavaじゃなくてLinuxの方の設定だったりするかも知れませんが許してくださぃ。。
public static void main(String[] arg) throws Exception {
String user = "***";
String password = "***";
String prompt = "\\s";
// クライアントの生成
TelnetClient telnet = new TelnetClient();
// サーバに接続
telnet.connect( "*.*.*.*" );
0261デフォルトの名無しさん
2005/12/28(水) 12:06:50InputStream istream = telnet.getInputStream();
OutputStream ostream = telnet.getOutputStream();
Reader reader = new InputStreamReader( istream );
Writer writer = new OutputStreamWriter( ostream );
// 認証の実行
readMessage(reader, ".*login: $");
writer.write( user + "\n" );
writer.flush();
readMessage(reader, "Password: $");
writer.write( password + "\n" );
writer.flush();
// プロンプト出力待ち
readMessage(reader, ".*" + prompt);
// コマンド実行
writer.write( "mkdir aaa\n");
writer.flush();
// ネットワークの切断
telnet.disconnect();
}
0262デフォルトの名無しさん
2005/12/28(水) 12:08:22その情報で回答者が回答できると考えるあなたの脳の作りを疑います。
TelnetClientって何よ。
0263デフォルトの名無しさん
2005/12/28(水) 12:16:23説明不足でした。
Commonsnet内のクラスだと思われます。
0264デフォルトの名無しさん
2005/12/28(水) 12:57:27下のメッセージがでてしまうんです。
java.lang.IllegalArgumentException
at sun.net.www.ParseUtil.decode(Unknown Source)
at sun.net.www.protocol.file.Handler.openConnection(Unknown Source)
at java.net.URL.openConnection(Unknown Source)
at sun.applet.AppletPanel.getAccessControlContext(Unknown Source)
at sun.applet.AppletPanel.getClassLoader(Unknown Source)
at sun.applet.AppletPanel.createAppletThread(Unknown Source)
at sun.applet.AppletPanel.init(Unknown Source)
at sun.plugin.AppletViewer.appletInit(Unknown Source)
at sun.plugin.viewer.LifeCycleManager.initAppletPanel(Unknown Source)
at sun.plugin.viewer.WNetscapePluginObject$Initer.run(Unknown Source)
同じ状況に直面した人いませんか?
0265デフォルトの名無しさん
2005/12/28(水) 12:59:05file:で始めてる?
0266デフォルトの名無しさん
2005/12/28(水) 16:28:21URLはどんな文字列だ?
0267デフォルトの名無しさん
2005/12/28(水) 16:51:500268デフォルトの名無しさん
2005/12/28(水) 16:57:46double a = 2.342598462389;
double n = 3;
double digit = Math.pow( 10, n );
a = ((int)(a * digit + 0.5))/digit;
0269デフォルトの名無しさん
2005/12/28(水) 17:08:00ありがとうございます。
0270264
2005/12/28(水) 18:02:35です。2バイト文字を前提として開発してるので、
フォルダ名変更だけは避けたいです。
0271デフォルトの名無しさん
2005/12/28(水) 18:07:49localhost で HTTPD は動いてますか?
0272デフォルトの名無しさん
2005/12/28(水) 18:13:50round()使えよ。
0273197
2005/12/28(水) 20:50:39いろいろありがとうございました。
アプリサーバも後々変更予定。
0274デフォルトの名無しさん
2005/12/28(水) 22:14:30if ($str =~ /(abc|def)/) { print $1; }
みたいなことをRegexで行うにはどうしたらよいのでしょうか?
0275デフォルトの名無しさん
2005/12/28(水) 22:44:07Matcher m = p.matcher(str);
if (m.find()) {
System.out.println(m.group(1));
}
0276これでいいや
2005/12/28(水) 22:49:21if (m.find()) {
System.out.println(m.group(1));
}
0277デフォルトの名無しさん
2005/12/28(水) 22:56:36割とそのままいけるみたいですね。
リネームツールでもつくろかしら。
0278デフォルトの名無しさん
2005/12/28(水) 22:57:01System.out.println(m.group(1));
}
0279デフォルトの名無しさん
2005/12/28(水) 22:59:360280デフォルトの名無しさん
2005/12/28(水) 23:00:20HTMLで開いてそこにあるボタンを押したらMySQLの情報操作を行うというもので
今回は試しにDELETEボタンを配置して、そのボタンを押したら
MySQLのDELETE文が実行されるというものを作ってみました。
アプレットを使わないで行う基本文での操作はうまくできましたが
今回はHTMLとボタンは無事に表示されてもボタンを押すとエラーが出て
先へ進めなくなってしまいました。
何か分かる事があれば教えてください。
0281デフォルトの名無しさん
2005/12/28(水) 23:01:24import java.io.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.applet.Applet;
public class MySQL extends Applet implements ActionListener {
Button delete1;
public void init(){
delete1 = new Button("ボタン");
add(delete1);
delete1.addActionListener(this);}
public void actionPerformed(ActionEvent ae){
try {
Class.forName("org.gjt.mm.mysql.Driver");
String url = "jdbc:mysql:///hellodb?useUnicode=true&characterEncoding=SJIS";
Connection con = DriverManager.getConnection(url,"root","root");
Statement stmt = con.createStatement();
String sql = "DELETE FROM test "+"WHERE a=1";
int result = stmt.executeUpdate(sql);
System.out.println(result + "行削除");
sql = "SELECT * FROM HELLO_WORLD_TABLE";
ResultSet rs = stmt.executeQuery(sql);
while(rs.next()){
int a = rs.getInt("a");
System.out.println(a);}
stmt.close();
con.close();}
catch (Exception e) {
e.printStackTrace();}
}
}
0282デフォルトの名無しさん
2005/12/28(水) 23:02:00at com.mysql.jdbc.Connection.<init>(Connection.java:1175)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java
:266)
at java.sql.DriverManager.getConnection(DriverManager.java:512)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at MySQL.actionPerformed(MySQL.java:22)
at java.awt.Button.processActionEvent(Button.java:382)
at java.awt.Button.processEvent(Button.java:350)
at java.awt.Component.dispatchEventImpl(Component.java:3615)
at java.awt.Component.dispatchEvent(Component.java:3477)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchTh
read.java:201)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre
ad.java:151)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
Caused by: java.lang.RuntimeException: Unable to initialize character set mappin
g tables
at com.mysql.jdbc.CharsetMapping.<clinit>(CharsetMapping.java:73)
... 15 more
以上です。
0283デフォルトの名無しさん
2005/12/28(水) 23:19:050はマッチ文字列全体だよ
0284デフォルトの名無しさん
2005/12/28(水) 23:23:16ソースを使え。
0285デフォルトの名無しさん
2005/12/29(木) 11:58:430286デフォルトの名無しさん
2005/12/29(木) 12:35:41java.sun.com の jdk 5.0 update 6 落とせたぞ。
0287デフォルトの名無しさん
2005/12/29(木) 12:52:480288デフォルトの名無しさん
2005/12/29(木) 12:55:03これLAN側ネットワークアドレスじゃね?168だったら間違いないだろうけど
そんなアドレス存在するのかなWhoisもこねーし
0289デフォルトの名無しさん
2005/12/29(木) 12:56:28w
0290288
2005/12/29(木) 12:59:45ttp://java.sun.com/j2se/1.4.2/ja/download.html
0291デフォルトの名無しさん
2005/12/29(木) 13:03:25192.18.ddd.ccc はプライベートアドレスじゃないぞ。
nslookup で逆引きもできるけど。
0292デフォルトの名無しさん
2005/12/29(木) 13:35:340293デフォルトの名無しさん
2005/12/29(木) 13:36:570294デフォルトの名無しさん
2005/12/29(木) 13:39:450295285
2005/12/29(木) 13:44:27j2sdk-1_4_2_10-linux-i586.binが欲しくてダウンロードを試してみてるんだけど。。
でも285を書いた当時はダウンロードのリンクをクリックすると
404が返ってきてたんだけど、
今は応答が来ないようになった。もうちょっと待ってみるよ。
0296デフォルトの名無しさん
2005/12/29(木) 15:43:59でも漏れはこの前ダウンロードしたから困ってない
こういうのうpろだに上げたらまずいんだよね?
0297デフォルトの名無しさん
2005/12/29(木) 15:52:000298デフォルトの名無しさん
2005/12/29(木) 18:21:38誰でも作れるようなものではないのか?
ライセンシーにならんと作れないとか?
0299デフォルトの名無しさん
2005/12/29(木) 18:31:44普通にあるでしょ。
俺はこれ↓とか結構気に入ってる
http://substance.dev.java.net/
0300デフォルトの名無しさん
2005/12/29(木) 18:58:20おおぁさんくす!!
0301デフォルトの名無しさん
2005/12/29(木) 18:58:57こんなのも
ttp://napkinlaf.sourceforge.net/
0302デフォルトの名無しさん
2005/12/29(木) 19:45:00ttp://www.javootoo.com/
0303デフォルトの名無しさん
2005/12/29(木) 20:42:54public class Snake extends Animal
public class Lion extends Animal
があるとします。
ここで、Animalをランダムに選別して、吠えることができるなら、吠えるようにするという機能を付与したいとします。
私は、下の二つのどちらかになると思うのですが、どちらが良いのでしょうか?
(1)interfaceを作り、Lionでimplementsする
public interface barkable() {
public void bark();
}
(2)Animalに下記を追加し、Lionでオーバーライドする
public boolean isBarkable() { return false; }
public void bark() { throw new UnsupportedOperationException(this.getClass().getName() + " can't bark! "); }
0304デフォルトの名無しさん
2005/12/29(木) 21:08:320305デフォルトの名無しさん
2005/12/29(木) 21:24:090306デフォルトの名無しさん
2005/12/29(木) 21:34:13そのAnimalが吠える事が可能かという属性が必要なら、Animalクラスに持たせる。
Animalかどうかに関係なく、ただ単に吠える事が可能かどうかならinterfaceにする。
この場合、Animalでない(?)ナベツネも吠えることが可能になる。
0307デフォルトの名無しさん
2005/12/29(木) 21:45:19JWindow w = new JWindow();
w.add(new TextField());
w.setSize(200, 50);
w.setVisible(true);
0308デフォルトの名無しさん
2005/12/29(木) 21:48:33JWindowでなくJPanelにのせよう
0309デフォルトの名無しさん
2005/12/29(木) 21:58:34JWindow w = new JWindow();
JPanel p = new JPanel();
p.add(new TextField());
w.add(p);
w.setSize(200, 50);
w.setVisible(true);
0310デフォルトの名無しさん
2005/12/29(木) 22:00:430311デフォルトの名無しさん
2005/12/29(木) 22:04:430313デフォルトの名無しさん
2005/12/29(木) 22:08:270314デフォルトの名無しさん
2005/12/29(木) 22:09:20p..getContentPane().add(new TextField());
ふつうはこうじゃないの?
0315デフォルトの名無しさん
2005/12/29(木) 22:20:30どっちでも良いけど
(2)で属性追加する必要あるの?
Animalは全て吠えるを持つ事にして吠えないものは何もしないようにすれば良いんじゃない?
0316伝説新人タクシ
2005/12/29(木) 22:38:57Fieldの幅が小さいから、入力できてないように見えてるとか?
TextField("", 10)で大きくなるけど。
それとも、クライアント領域いっぱいに大きいか。
ttp://www.javadrive.jp/tutorial/
ここ見てSwingやったら?
とりあえずFieldは表示はされてるの?
0317デフォルトの名無しさん
2005/12/29(木) 22:59:34[1] SJC の質問はこのスレでOK?
[2] SJC-A, SJC-P の合格ラインって、正答率何%くらい?
[3] 在学中には取っておきたいんだけど、A と P どっち取るべき?
[4] ぶっちゃけ、推奨コース受けなくても平気?
0318デフォルトの名無しさん
2005/12/29(木) 23:04:18Sun認定Java資格 実用情報 3 【SJC-P用】
http://pc8.2ch.net/test/read.cgi/prog/1117031782/
0319デフォルトの名無しさん
2005/12/29(木) 23:07:350320303
2005/12/29(木) 23:21:06吠えることができるクラスが、Animalの範囲に収まるかどうかが大事ということですね。
無闇にinterfaceにすると、汎用性は高まるけど、
TomatoにもPhilosophyにも吠えさせることが可能になってしまうから、
きっちりJavaDocコメントを書くなどの注意が必要になりますね。
つまり、>>304の仰るケースバイケースってことですね。
>>305
英語はなんとなく動詞+ableで○○できるって意味になると思ったので、
そんな名前にしてみました。
>>311
はい。先般はお世話になりました。
>>315
吠えない生き物が吠え(ようとし)たら、それは異常事態で例外扱いだと思うんです。
実装者のミスというか。
前もってif文で分岐しておくべきだと思っています。
皆さん、どうもありがとうございます。
0321デフォルトの名無しさん
2005/12/29(木) 23:28:52やっぱりケースバイケース。
0322デフォルトの名無しさん
2005/12/29(木) 23:36:55同じような分岐がプログラム上で何回も出てくるのは宜しくないし
デザインパターンの何かが使えるんじゃないとか
デザパタについて余り詳しくないのに言ってみるテスト
0323デフォルトの名無しさん
2005/12/29(木) 23:36:58以前別のサイトで質問した内容なのですが、
回答がなかったので質問させてください。
eclipseではjarファイルの作成ができました。
フリーのJava Studio Enterprise 8で、jarファイルを作成しようとすると、
作成できても、jarファイルをダブルクリックで起動しようとすると
「Could not find the main class. Program will exit.」と表示されます。
どこかのフォーラムでも同様のことが質問されていました。
windowsxpでの開発ですが、これについての解決策はありませんでしょうか?
素人の質問で申し訳ありませんが、よろしくお願いします。
0324デフォルトの名無しさん
2005/12/29(木) 23:38:490325デフォルトの名無しさん
2005/12/29(木) 23:38:54……綴り合ってたっけ?
0326303
2005/12/30(金) 00:02:53確かに、if文が増えてしまうと見づらくなるきらいはありますね・・・。
ケースバイケースで、状況によって考えてみます。
デザインパターンは積ん読になってる本があるので、
それで調べてみます。
0327デフォルトの名無しさん
2005/12/30(金) 00:22:120328デフォルトの名無しさん
2005/12/30(金) 00:24:100329デフォルトの名無しさん
2005/12/30(金) 00:33:090330デフォルトの名無しさん
2005/12/30(金) 00:46:42意図する返事と違うかもしれませんが、
jarファイルを回答して、META-INFフォルダのMANIFEST.MFの中身を見ますと、
「
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.6.2
Created-By: 1.5.0_04-b05 (Sun Microsystems Inc.)
Main-Class: javaapplication14.Main
X-COMMENT: Main-Class will be added automatically by build
」
となっていましたが、あまりよくわかっていません。
Java Studio Enterpriseが自動的にjarファイルに付加したものです。
後、ごめんなさい。
いつの間にか、システムが不調になってしまい、
JavaVirtualMachineが起動できなくなっていました。
ちょっとなんだかよくわからなくて焦ってしまいました。
OSの再インストールをしなおして、もう一度やり直してみようと思います。
もしかすると、Java開発環境を入れすぎたのかもしれません。
すみませんでした。
0331デフォルトの名無しさん
2005/12/30(金) 05:41:16j2sdk-1_4_2_10はJISAutoDetectにバグがあって
なんか知らないけどClassCastException投げるから
公開中止とか。
j2sdk-1_4_2_09にしとけば?
0332デフォルトの名無しさん
2005/12/30(金) 07:30:13いや、どうせコンパイルにしか使わないのでそういうのは平気です。
昨晩、再度ためしたところ落とせたのでOK
0334デフォルトの名無しさん
2005/12/30(金) 09:26:040335307
2005/12/30(金) 09:37:170336デフォルトの名無しさん
2005/12/30(金) 10:25:55デバッガが止まってるのは最後の } で、Arrayとは関係ないところなんです。
なんででしょう? だれかエスパーの人おねがい・・
0337デフォルトの名無しさん
2005/12/30(金) 10:30:09スタックトレースと該当ソース晒せ
0338デフォルトの名無しさん
2005/12/30(金) 10:43:56例外が出てるんだけどね
0339デフォルトの名無しさん
2005/12/30(金) 11:50:01>>336の通称アレックスというのはJava業界ではメジャーな用語ですか?
ぐぐる先生に聞いたところでは皆無ですた
0340デフォルトの名無しさん
2005/12/30(金) 12:08:210341デフォルトの名無しさん
2005/12/30(金) 12:08:46ArrayIndexOutOfBoundsExceptionなんて
NullPointerExceptionに比べたら遙かに発生しにくいし
0342デフォルトの名無しさん
2005/12/30(金) 14:08:35変数を初期化するかどうかの違いですが、実行時間が
こうも開くのはどうしてでしょうか?
public static void main(String[] args) {
final int SIZE = 1 << 15;
final int LOOP = 1000;
long start, end;
List<Integer> list = new ArrayList<Integer>(SIZE);
for (int i = 0; i < SIZE; i++) {
list.add(Integer.valueOf(i));
}
start = System.currentTimeMillis();
Integer[] integer1;//nullで初期化しない
for (int j = 0; j < LOOP; j++) {
integer1 = list.toArray(new Integer[list.size()]);
}
end = System.currentTimeMillis();
System.out.println(end - start);
start = System.currentTimeMillis();
Integer[] integer2 = null;//nullで初期化する
for (int j = 0; j < LOOP; j++) {
integer2 = list.toArray(new Integer[list.size()]);
}
end = System.currentTimeMillis();
System.out.println(end - start);
}
0343デフォルトの名無しさん
2005/12/30(金) 14:17:20実行するのが面倒だから聞くけど、後者の方が早いの?
integer1とinteger2の初期化の方法を逆にしても結果は同じ?
0344342
2005/12/30(金) 14:55:05初期化の方法の方法を逆にしても
nullで初期化しないほうが早いです。
0345デフォルトの名無しさん
2005/12/30(金) 15:14:38この命令が違うだけなんだけどね
aconst_null
astore
0346デフォルトの名無しさん
2005/12/30(金) 15:40:36ちなみに、mustang の clientVM だと殆ど変わらない。
serverVM だと前者のがちょっとだけ速いみたいだけど。
0347デフォルトの名無しさん
2005/12/30(金) 16:26:37計算結果の integer1 や integer2 がその後使われてないから
何かしらの最適化が行われてるんじゃないかな。
初期値が与えられていない方は、その値を確定するために
ループを回しているとか。
計算結果を表示させるようにすれば、同じ速度になったりしない?
0348デフォルトの名無しさん
2005/12/30(金) 16:52:42";"ごとに分割するプログラムを組んだのですが
1:AAAAA;
2:BBBBB;
分割すると
1:AAAAA;
改行文字2:BBBBB;
となってしまいます。改行文字を除去するにはどうしたらいいでしょうか?
0349デフォルトの名無しさん
2005/12/30(金) 16:54:330350デフォルトの名無しさん
2005/12/30(金) 17:00:13InputStream 使わずに BufferedReader 使えば?
0351デフォルトの名無しさん
2005/12/30(金) 17:16:25substringとindexOfを使って先頭から";"が見つかったところまで(";"を含む)分割
2週目は一行目の";"の次を先頭に";"が見つかったところまで(";"を含む)分割
ってやっています
>350
書き忘れてたんですがIアプリなんで
BufferdReaderはないです;
0352デフォルトの名無しさん
2005/12/30(金) 17:27:12;の次の改行は取り除けばいいんじゃない?
substringとindexOf使って
0353デフォルトの名無しさん
2005/12/30(金) 17:28:47348にあるサンプルデータ列だと改行で切り分けて
とってくりゃいいように見えるんだが
そうじゃないなら文字列から改行コード抜いて
文字列再生成するような関数自前で作るとか
StringTokenizerで改行とセミコロン両方で区切るようにして
末尾の区切り文字判定で処理かえるとか
iアプリでStringTokenizer使えるかどうかはしらんが
0354デフォルトの名無しさん
2005/12/30(金) 17:39:322行目をprintln("2::"+2行目)で表示すると
2::
2行目
と表示されるので
2行目の文字列は \n2:BBBBB; だと考えて
2行目 = 2行目.subString(1,2行目の長さ);
とやった後にprintln("2::"+2行目)と表示しても
2::
2行目
となって改行文字が消えないんですが何か間違ってますか?;
>353
改行は規則的に出てくるのでやってみます
0355デフォルトの名無しさん
2005/12/30(金) 17:50:24\r\n
0356デフォルトの名無しさん
2005/12/30(金) 17:56:492文字だったんですね・・・・orz
これならなんとか自己解決できそうです。
みなさん、レスありがとうございました。
0357デフォルトの名無しさん
2005/12/30(金) 18:10:15ガンダム業界ですね
>>341
了解です。恥書かずに済みます
0358デフォルトの名無しさん
2005/12/30(金) 18:37:59Windows 上でテキストファイルを作っている場合は \r\n
Linux 上でテキストファイルを作っている場合は \n
Mac 上でテキストファイルを作っている場合は \r
だったっけ、うろおぼえ
いずれにせよ、テキストファイルをどうやって作るかに依存
とりあえず、\r と \n を消しておけばいいのかな
0359デフォルトの名無しさん
2005/12/30(金) 19:30:11アプレットの大きさを動的に動かせるプログラムを教えて欲しいのです。
0360デフォルトの名無しさん
2005/12/30(金) 19:53:20アプレットから別ウィンドウ立ち上げたら?
0361デフォルトの名無しさん
2005/12/30(金) 20:21:180362デフォルトの名無しさん
2005/12/30(金) 21:52:22Jakarta Commons NetやAntのtelnetタスク、sshタスクを使いたくなってしまう。
勉強のために自作するというのも悪くは無いが。
0363デフォルトの名無しさん
2005/12/30(金) 23:05:29破棄されずに誤動作起きるよりnull入れてこうよ
remove呼んだのにあんじゃん、とか勘弁してよ
0364デフォルトの名無しさん
2005/12/30(金) 23:19:340365デフォルトの名無しさん
2005/12/30(金) 23:21:12そのCommons使ってるんじゃない?
0366デフォルトの名無しさん
2005/12/30(金) 23:21:49null の代入が必要なときに限り null を入れるべき
手抜きする人とは一緒に仕事したくない
0367デフォルトの名無しさん
2005/12/30(金) 23:22:32企業のコーディング規約は未だに
「使い終わった変数にはnullを代入している:○、×」
みたいなのはあるね
0368デフォルトの名無しさん
2005/12/30(金) 23:35:05二択クイズみたいなコーディング規約だな
0369デフォルトの名無しさん
2005/12/30(金) 23:51:10規約の方には「代入する」って指示が書かれてる
0370デフォルトの名無しさん
2005/12/31(土) 03:21:16以下のどのクラスローダが使われるのでしょうか?
Thread.currentThread().getContextClassLoader()
ClassLoader.getSystemClassLoader()
ClassLoader.getSystemClassLoader().getParent()
Class.forName()メソッドは、2番目のクラスローダが使われると
記述されているので、2番目なのかなと思っているのですが・・ちょっと
自信なしです。
環境は Sun J2SDK 1.4.2 です。
0371デフォルトの名無しさん
2005/12/31(土) 04:18:07rt.jar内のクラスはブートストラップローダ(3番?)、CLASSPATHを辿って
見つけることができるクラスは2番である事がわかりました。
1番はどのシーンで使われるか分かっていませんが、とりあえず解決できました。
0372デフォルトの名無しさん
2005/12/31(土) 05:55:160373デフォルトの名無しさん
2005/12/31(土) 09:36:23クラスをロードするのってVMじゃないの?
0374デフォルトの名無しさん
2005/12/31(土) 11:50:13その企業はIBMのdwのあの記事をよく読んでいないってことが
よくわかるね
0375デフォルトの名無しさん
2005/12/31(土) 12:18:03日本のIさんに言ってください><
いいスペックの筐体を売るための罠だとしか思ってませんが
0376デフォルトの名無しさん
2005/12/31(土) 12:52:58//メインループ
List list = null;
hoge( list );
hage( list );
hige( list ); // 0, 1, 2を表示
private void hoge( List l )
{
l = new ArrayList();
l.add( 0 );
}
private void hage( List l )
{
l.add( 1 );
l.add( 2 );
}
private void hoge( List l )
{
for ( Iterator it = l.iterator(); it.hasNext(); ) {
int i = (int)it.next();
System.out.println( i );
}
}
0377デフォルトの名無しさん
2005/12/31(土) 12:55:14参照渡しではありません。
hogeは×
hageは○
higeは○
0378デフォルトの名無しさん
2005/12/31(土) 12:58:29hogeでぬるぽ
0379デフォルトの名無しさん
2005/12/31(土) 12:59:130380デフォルトの名無しさん
2005/12/31(土) 13:04:36失礼しました forでPrintln回してるのがhigeです
実際やってみるとぬるぽが出てるんです
なんで駄目なのかよくわかんないんですが、教えていただけますでしょうか?
0381デフォルトの名無しさん
2005/12/31(土) 13:09:32メソッドhogeで変数lにArrayListを参照させてるけど、
メインの処理にある変数listがそのArrayListを参照するわけではない
そのため、メソッドhageの引数であるlistはnullのままで、
メソッドhageないで参照している変数lもnull
で、このnull参照の変数に対してaddメソッドを呼んでるのでぬるぽが発生
0382デフォルトの名無しさん
2005/12/31(土) 13:15:33Java にはプログラミング言語界隈でいうところの「参照渡し」はない。
Java 言語規定でいうところの『参照値が「値渡し」』される。
0383デフォルトの名無しさん
2005/12/31(土) 13:15:51List list = new ArrayList();
hage( list );
hige( list );
だと大丈夫で、hageとかには参照渡しになるんですかね?
intとかの基本型の変数だと値渡しで、Stringとかのクラスの変数だと参照渡しと
理解していたのですが…
うーん、よくわからないな…
0384デフォルトの名無しさん
2005/12/31(土) 13:17:10> intとかの基本型の変数だと値渡しで、Stringとかのクラスの変数だと参照渡しと
両方とも値渡し。
参照型の場合はC言語的に言うと、ポインタが値渡しされる。
0385デフォルトの名無しさん
2005/12/31(土) 13:22:33Manifest manifest = jarFile.getManifest();
Attributes attr = manifest.getAttributes("My-Class");
これでattrがnullになるんですがなぜでしょうか?
jarファイルをlhacaで解凍したところ
META-INFフォルダの中にMANIFEST.MFファイルがあり、
My-Class: MyClass
というようにきちんと書いてあるのですが。
0386デフォルトの名無しさん
2005/12/31(土) 13:26:04C(C++)だったらこうで、Javaだったら・・・
確かにその場では理解が早くなった気になるけど、
最終的にどっちがいいと言ったら、断然新しい気持ちで学習したほう
参照渡しだの既存の考えで考えている以上>>376こういった疑問はつきない
0387デフォルトの名無しさん
2005/12/31(土) 13:31:02jarをlhacaで作ったの?
0389デフォルトの名無しさん
2005/12/31(土) 13:41:12ではJavaではListとかを引数にした場合、そのコピーがメソッドに渡される訳ですよね?
じゃ複数のメソッドにまたがって変数を参照する場合はそれらより上位で
変数の中身を確定しておかなければならず、またそれらのメソッドの中で
その変数を変更(Listに値をaddとか)しても、上位にある元々も変数には
影響が出ないって事ですか?
0390デフォルトの名無しさん
2005/12/31(土) 13:41:59んなことはない。値渡しや参照渡しの概念は重要
ところで、Javaの変数は、
その型がオブジェクトであるときは実体でなく参照を格納する
(C言語的にいうと、変数はポインタ)
0391デフォルトの名無しさん
2005/12/31(土) 13:47:50惑わされるな。
コピーはされない。
コピーされるのはintとかdoubleとかだけ。
0392デフォルトの名無しさん
2005/12/31(土) 13:48:31× Attributes attr = manifest.getAttributes("My-Class");
○ String value = manifest.getMainAttributes().getValue("My-Class");
0393デフォルトの名無しさん
2005/12/31(土) 13:49:47C言語のポインタは理解してる?
0394デフォルトの名無しさん
2005/12/31(土) 13:51:57> ではJavaではListとかを引数にした場合、そのコピーがメソッドに渡される訳ですよね?
参照値がコピーされる。オブジェクト自体がコピーされるわけじゃない。
> その変数を変更(Listに値をaddとか)しても、上位にある元々も変数には
参照されたオブジェクトには影響がでる。
参照値自体を変更しても元々の参照変数には影響がでない。
0395デフォルトの名無しさん
2005/12/31(土) 14:02:12一応は…
深く突っ込まれるとボロがでると思いますが
>>394
ん〜……じゃあ
List list = new ArrayList();
hage( list );
hige( list );
private void hage( List l ){
l.add( 1 );
l.add( 2 );
}
private void hige( List l ){
for ( Iterator it = l.iterator(); it.hasNext(); ) {
int i = (int)it.next();
System.out.println( i );
}
}
はOKだけど
//メインループ
List list = new ArrayList();
hoge( list );
hage( list );
hige( list );
private void hoge( List l ){
l = new LinkedList();
}
とかやっても、listはArrayListのままってことですかね?
0396デフォルトの名無しさん
2005/12/31(土) 14:05:45そんな感じ。
0397デフォルトの名無しさん
2005/12/31(土) 14:06:52C君が使う、このC君はfree()しないとリーク起こる?
0399デフォルトの名無しさん
2005/12/31(土) 14:10:11表現があいまいなので答えられません。
0400デフォルトの名無しさん
2005/12/31(土) 14:14:07freeの心配より前にJava側でGCされてC君がアクセスしてあぽん
0401デフォルトの名無しさん
2005/12/31(土) 14:15:28それを理解するのに既存の言語に
あてはめる必要はないってことだよ
既存の言語の埋解度によっては
混乱を招くため
0402デフォルトの名無しさん
2005/12/31(土) 14:25:43いや、なんでそうなるのかよくわかんなかったんで…
ともかくありがとうございました
0403デフォルトの名無しさん
2005/12/31(土) 14:29:32既存の言語ってなんだよ
既知の言語だろ
0404デフォルトの名無しさん
2005/12/31(土) 14:31:50トンクス
0405デフォルトの名無しさん
2005/12/31(土) 14:59:31?
0406デフォルトの名無しさん
2005/12/31(土) 16:16:130407デフォルトの名無しさん
2005/12/31(土) 16:42:49dw書いている良いIさんとnull代入させるIさんがいるってこと
0408デフォルトの名無しさん
2005/12/31(土) 18:00:05どっちをインストールすれば良いんですか?
0409デフォルトの名無しさん
2005/12/31(土) 18:01:520410デフォルトの名無しさん
2005/12/31(土) 18:06:265.0 の方が新しい。 5.0 インストールしておけばよさげ。
使いたいソフトが 5.0 に対応してないとかの事情で 1.4.2 が必要とかでなければの話だけど。
0411デフォルトの名無しさん
2005/12/31(土) 18:08:54ありがとうございました(`・ω・´)
0413デフォルトの名無しさん
2006/01/01(日) 02:03:22武勇伝武勇伝武勇でんでんででんでん
0414デフォルトの名無しさん
2006/01/01(日) 06:31:170415デフォルトの名無しさん
2006/01/01(日) 07:44:23VALIDATE.JAVAをコンパイルできません。(本書で使うツール p.xiv)
本に書いてあるとおり、ソースファイルがある場所で"JAVAC VALIDATE.JAVA"とコマンドを打ったのですが。。。
”コマンドまたはファイル名が違います.”としか表示されません。。
JDK1.5がWIN98をサポートされていないからですか?
誰か教えて下さい、よろしくお願いします。
私のPCのOSはWIN98で、SecondEditionではありません。
ちなみに下記が、私のPCのAUTOEXEC.BATです。
@ECHO OFF
loadhigh c:\windows\COMMAND\nlsfunc.exe c:\windows\country.sys
rem - By Windows Setup - \dos\mscdex.exe /D:cdrom001 /L:g
SET PATH=%PATH%;c:\PROGRA~1\COMMON~1\AUTODE~1;C:\Program Files\Java\jdk1.5.0_06\bin
0416デフォルトの名無しさん
2006/01/01(日) 08:54:01:SET JAVA_HOME=など
とりあえず、空白含まない場所にインストールするのが無難だよ
それか
echo "C:\Program Files\Java\jdk1.5.0_06\bin\javac.exe" %* >javac.bat
0417デフォルトの名無しさん
2006/01/01(日) 12:25:34どうやってるのか教えてください
0418デフォルトの名無しさん
2006/01/01(日) 12:30:46パスの設定ができてないだけに見えるが・・・OSは関係ないと思う
0419デフォルトの名無しさん
2006/01/01(日) 13:32:34家に帰ってパスを再設定してみます。
0421デフォルトの名無しさん
2006/01/02(月) 01:16:00これを実行しては閉じる、実行しては閉じると30回くらいやっていると、
デッドロックを起こしたようにフリーズする時が来る。
フリーズは1回目になるかもしれないし、30回こえても起きないかも知れない。
こちらの環境(Win2K。jre1.5.0_06)では50回以内にはかならず起きている。
JFileChooserに問題があるようで、JOptionPaneなどの場合は起きない。
というわけで、余裕のある方、確認してみて欲しいです。
import javax.swing.*;
import java.io.*;
public class BugDemonstration {
static JFileChooser file = null;
public static void main(String args[]) {
final JFrame frame = new JFrame("The Frame");
frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
frame.setSize(200,200);
frame.setVisible(true);
SwingUtilities.invokeLater(new Runnable() {
public void run() {
file = new JFileChooser();
file.setMultiSelectionEnabled(true);
file.setDialogTitle
("Select lots of files..." );
file.showDialog(frame.getContentPane(), "Demonstrate problem");
}
});
}
}
0422デフォルトの名無しさん
2006/01/02(月) 02:26:39例外が出てないかまず確認してはどうか。
0423デフォルトの名無しさん
2006/01/02(月) 02:46:37不勉強ですいません。
それはどうやって確認すればいいですか?
コマンドラインから実行していますが今はフリーズしても例外は出ません。
0424デフォルトの名無しさん
2006/01/02(月) 02:48:44だって
>SwingUtilities.invokeLater
だからな。
0425デフォルトの名無しさん
2006/01/02(月) 02:58:220426java勉強中
2006/01/02(月) 03:14:46チェックボックスの配置を指定するにはどうやったらいいですか?
yes/no の二択を5個出したいのですが、すべて連なってしまい、
yes no
yes no
みたいに縦になってくれません。
どうしたらいいでしょか?
0427デフォルトの名無しさん
2006/01/02(月) 03:16:45どうやっているのかプログラム晒してよ
awtかSwingすら書いてないし・・・
0428デフォルトの名無しさん
2006/01/02(月) 04:07:3838回目でフリーズした。
どうして?
import java.awt.Container;
import javax.swing.*;
import java.io.*;
public class Test3 {
public static void main(String args[]) {
JFileChooser fc = new JFileChooser();
fc.showDialog(null, "Hoge");
}
}
0429デフォルトの名無しさん
2006/01/02(月) 04:25:44どのタイミングでフリーズするの?
実行してから何も表示されないの?
それとも、JFileChooserが表示された後にフリーズ?
0430デフォルトの名無しさん
2006/01/02(月) 04:39:41表示される前にフリーズします。
正確にはものすごーく重くなって、JFileChooserが表示されるべきエリアが
グレーに塗りつぶされて領域を確保したのが分かって、おそらくそのまま長
時間ほっておけば、JFileChooserの絵が完成するのかもしれないと思いつつ、
あまりに遅いし、Win全体が重くなって使えなくなるので、Ctrl-C連打して止めるか、
タスクマネージャで強制終了しています。
0431デフォルトの名無しさん
2006/01/02(月) 04:49:56JFileChooserが表示され普通に使えるようでした。
さらにひつこくもう一度フリーズさせて、数分以上放置しましたが、
フリーズしたままでした。
テストプログラム
import javax.swing.*;
import java.io.*;
public class Test3 {
public static void main(String args[]) {
JFileChooser fc = new JFileChooser();
fc.showOpenDialog(null);
}
}
0432デフォルトの名無しさん
2006/01/02(月) 04:55:36UIスレッドからのみアクセスするようにしてみる。
0433デフォルトの名無しさん
2006/01/02(月) 04:57:01最初その方法でダメだったんだろ
0434デフォルトの名無しさん
2006/01/02(月) 05:01:06メインスレッドでUIコンポーネントを作成していた気がするが、
まあいいや、原因違うかもしれないしガンバレ
0435デフォルトの名無しさん
2006/01/02(月) 05:06:05他にもいくつかネットにあるJFileChooserのサンプルでためしてるんだけど、
例外なくフリーズはおきるようだけど。こっちの環境固有の問題?
0436デフォルトの名無しさん
2006/01/02(月) 05:09:24>sunのサイト
ソースおくれ
0437デフォルトの名無しさん
2006/01/02(月) 05:13:52昔は、pack か setVisible などでUIコンポーネントを表示する前は
スレッドセーフにアクセスできるとか言ってたんだけど、
いつの間にか、いつでもUIスレッドじゃないとだめだという話になってた。
SUN のチュートリアルも、そうなってる。
昔のSUNのチュートリアルとか、
それを見て作った人のサンプルとかは、UIスレッドを用いずに
UIコンポーネントを構築しているものがあるかもしれない。
0438デフォルトの名無しさん
2006/01/02(月) 05:14:45http://bugs.sun.com/bugdatabase/view_bug.do;:YfiG?bug_id=4712307
これは別のバグをデモしてるんだけど。
0439437
2006/01/02(月) 05:21:57public class Hoge {
public void main(String[] args) {
SwingUtilies.invokeLater(new Runnable() {
いろいろ
}
}
}
とかが安全。今回の挙動とは関係ないかもしれないけど
それだけ
0440デフォルトの名無しさん
2006/01/02(月) 05:27:38確かにそれはお約束だな
まぁ、setVisible(true)の部分だけソコに書けばいいのだけど
0441デフォルトの名無しさん
2006/01/02(月) 05:34:59ちがう。と思う
たしかに、invokeLater によって、
メインスレッドとUIスレッドの同期をイベントキューを通じて行えるかもしれないが、
invokeLater が実行される前に
UIコンポーネントに UI スレッドがアクセスする可能性がある場合、
UIスレッドからは不完全に見えるオブジェクトにアクセスする可能性がある。
0442デフォルトの名無しさん
2006/01/02(月) 05:42:36その後100回までためしたけど、問題はおきなかった。
でもなんかまだ怪しいような気がします。
import javax.swing.*;
class Hoge {
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
JFileChooser fc = new JFileChooser();
fc.showOpenDialog(null);
}
});
}
}
0443デフォルトの名無しさん
2006/01/02(月) 07:42:50ttp://www.bidders.co.jp/dap/sv/applex1?type=MISS06
0444デフォルトの名無しさん
2006/01/02(月) 11:55:29ダイアログ周りは怪しいみたい。
前にJDialogを使ったときに、Modalなはずのダイアログが最前面に出なくてUIが操作できなくなったことがあった。
そのときは、ダイアログの親フレームを指定するようにしたら解決した。
そのプログラムも、showOpenDialog()の引数に有効なJFrameオブジェクトを指定すればうまくいくかも。
試してないが、健闘を祈る。
0445デフォルトの名無しさん
2006/01/02(月) 15:12:34>>62
なぜそこで中国人ヴァイオリニストYOYOMA(ヨーヨーマ)がでてくるのか?
0446デフォルトの名無しさん
2006/01/02(月) 16:28:41>そのときは、ダイアログの親フレームを指定するようにしたら解決した。
それに関しては当然だと思うが・・・
0447デフォルトの名無しさん
2006/01/02(月) 18:09:12ありがとう。
サンプルは話を簡単にするため簡略化してカキコしたものです。
もとはownerを指定していました。それでもフリーズします。
とりあえずこういうものだと諦めて作業を先に進めます。
0448デフォルトの名無しさん
2006/01/02(月) 18:34:12その問題は5.0で解決してるみたいよ
0449デフォルトの名無しさん
2006/01/02(月) 18:48:460450デフォルトの名無しさん
2006/01/02(月) 19:03:44のいう、
>だって
>>SwingUtilities.invokeLater
>だからな。
というのが気になるなー
JFileChooserを呼ぶときinvokeLaterを使ったらまずいのですか?
0451デフォルトの名無しさん
2006/01/02(月) 20:56:14台湾系アメリカ人のチェリストじゃなかったっけ?
0452デフォルトの名無しさん
2006/01/02(月) 21:15:33こちらも規約に、null代入するように書いてある。納品前にチェックあるし。
なんで?と聞くと、gcにかかりやすくするためと言われる。
Sunの人が効果ないよって言ってくれたら信用してもらえるのかな。
当方、dwの記事読んでも効果があるのかないのか理解できないので説明は無理。
0453デフォルトの名無しさん
2006/01/02(月) 23:05:42>418
コンパイルできました。(Validate.classが作成されました)
ありがとうございました。
0454デフォルトの名無しさん
2006/01/03(火) 01:04:36最も大きな効果は、意味のない記述をソースから除去できること。
その場の使い捨てでない限り、ソースは人間が読むものであり、
意味のある記述だけを含むべきである。
そうでなければ、何が書かれているのかが把握しにくくなり、
ひいては不具合を引き起こしたり、その発見に支障をきたす。
通常、ソース(ロジック、アルゴリズム)の難解さは
何らかのトレードオフによって生まれるのだろうが、
こと null 代入に関しては、欠点だけしかない。
などと上に口答えできる環境にいる人は幸せ
0455452
2006/01/03(火) 07:36:57thanks
意味のある記述、の話したことあるけど、gcにかかりやすくする意味があるんだよ
と言われて負けっぱなしです。
が、上の方に書いてあったnull代入してもgcに影響与えないなら、↑の意味はないのですね。
あぁ、returnの前に =null;が並ぶ.。。。。。漏れがないかチェックさせられてる。。。。。
0456デフォルトの名無しさん
2006/01/03(火) 09:27:25なんのためのgcやら…malloc()+free()と一緒じゃん。
SunのTech TipsとかIBMのdeveloperworksにその辺の話、なかったっけ。
0457デフォルトの名無しさん
2006/01/03(火) 11:11:08隙を見てIBMの記事を印刷してデスクに置いておくとか
0458デフォルトの名無しさん
2006/01/03(火) 11:19:23場合によってはnullしとかないとメモリリーク起こす場合もある。
0459デフォルトの名無しさん
2006/01/03(火) 11:22:10いつか読んだことがあって、
それ以降null代入はtry-finally節で変数の後処理の時しかしないのですが、
もう一度読みたくなったけど見つけられないです。
0460デフォルトの名無しさん
2006/01/03(火) 11:23:220461デフォルトの名無しさん
2006/01/03(火) 11:24:27パフォーマンスへの目: オブジェクトを参照する
http://www-06.ibm.com/jp/developerworks/java/031114/j_j-perf08273.html
Javaの理論と実践: ガベージコレクションとパフォーマンス
http://www-06.ibm.com/jp/developerworks/java/040312/j_j-jtp01274.html
他にもあるかもしれないけど…
0462デフォルトの名無しさん
2006/01/03(火) 11:33:38VMのバグとコーディング規約を一緒に考えてはいけない
0463デフォルトの名無しさん
2006/01/03(火) 11:34:56ありがとうございます。
GCの仕組みによっても違ってきそうですね。
0464デフォルトの名無しさん
2006/01/03(火) 11:52:05最近のVMはバカじゃない。
0465デフォルトの名無しさん
2006/01/03(火) 12:21:13参照解放せずに つかみっぱなしにしてる場合は GC じゃ どーにもなりません。
0466デフォルトの名無しさん
2006/01/03(火) 12:45:49具体的にどうゆう場合?
0467デフォルトの名無しさん
2006/01/03(火) 12:58:11>>465のような場合だろ。
>>465のような実装は糞を通り越してるレヴェルだがなwww
0468デフォルトの名無しさん
2006/01/03(火) 12:59:45>>465の場合はnull代入すれば大丈夫なのか?
0469デフォルトの名無しさん
2006/01/03(火) 13:07:32他の部分の実装如何で大丈夫とは言い切れないが、
少なくともGCの対象にするためには
当該のオブジェクトからの参照を切るためにnull代入は必要。
0470デフォルトの名無しさん
2006/01/03(火) 13:09:55なるほろThx
0471デフォルトの名無しさん
2006/01/03(火) 13:27:52最近Java始めたばっかり何ですが、メソッドやフィールド変数は
クラス(オブジェクト)に属するってのはわかったのですが、
+などの算術演算子やforなどの制御文ってどのクラスに属するのですか?
0472デフォルトの名無しさん
2006/01/03(火) 13:36:02算術演算子や制御文が記述されている変数やメソッドが属するクラス(またはそのインスタンス)。
0473デフォルトの名無しさん
2006/01/03(火) 13:41:09メソッド?
0474デフォルトの名無しさん
2006/01/03(火) 13:46:130475デフォルトの名無しさん
2006/01/03(火) 13:47:38ありがとうございました
0476デフォルトの名無しさん
2006/01/03(火) 13:57:030477デフォルトの名無しさん
2006/01/03(火) 14:08:35java.text.DecimalFormatでも使えば?
0478デフォルトの名無しさん
2006/01/03(火) 14:14:22そういうチェックは自動化できるだろ(いややらんでもいいって結論みたいだが)
FindBugsとかAspectJとかで
0479デフォルトの名無しさん
2006/01/03(火) 14:25:50シングルトンってインスタンスどうせ1個だし
メモリに与える影響って少ないとおもうんだけどなーって思ったけど
どうなの?
例えばシングルトンででかい配列を使ったとして、
その定数的なでかい配列を生成するコストを減らすのも
シングルトンのメリットかなと思うけど。
0480デフォルトの名無しさん
2006/01/03(火) 14:36:24nullセットして意味あるのは使いもしない変数が
残ってる場合じゃない?それだとnullセットしないと参照が切れないから
使わなくなったらするにnullセットする意味はあると思う
でもスコープ抜けると参照切れるからreturnの前でnullセットするのは全然意味ないような
その前にスコープの設定がおかしい可能性が高いからリファクタの余地がありそうだね
ま、そういうアホみたいな設計に当たったら説得するより、次にいいプロジェクト入るor立ち上げる方に
労力使った方がいいとおもう
0481デフォルトの名無しさん
2006/01/03(火) 14:37:20>>458
>場合によってはnullしとかないとメモリリーク起こす場合もある。
>>465
>糞プログラマがシングルトンなオブジェクトとかで
>参照解放せずに つかみっぱなしにしてる場合は GC じゃ どーにもなりません。
>>466
>具体的にどうゆう場合?
>>467
>>>465のような場合だろ。
ほら、話がずれてますね。メモリリークの話に戻そうぜ。
クラス設計できない糞プログラマのことはどーでもいいんです。
0482デフォルトの名無しさん
2006/01/03(火) 15:13:32というか、VM の最適化の邪魔にしかならないんじゃないか?
0483デフォルトの名無しさん
2006/01/03(火) 15:16:09お前一人ですれば?
0484デフォルトの名無しさん
2006/01/03(火) 15:20:12ほぼそうだとdw読んだら書いてあった。
0485480
2006/01/03(火) 15:32:12private void test() {
int preSize = 0;
for (int i = 0; i < 50000; i++) {
Integer var = new Integer(i);
gMap.put(new Integer(i), var);
var = null;
if (preSize >= gMap.size()) {
System.out.println("gMap: gc success");
}
preSize = gMap.size();
}
preSize = 0;
for (int i = 0; i < 50000; i++) {
Integer var = new Integer(i);
gWeakMap.put(new Integer(i), var);
var = null;
if (preSize >= gWeakMap.size()) {
System.out.println("gWeakMap: gc success");
}
preSize = gWeakMap.size();
}
0486デフォルトの名無しさん
2006/01/03(火) 16:22:46いい例えが見つからないけど
System.props みたいな持ち方してるのとかさ
こいつの場合だと読み直させるのに
System.initProperties(null);
これしかないぜ
スコープがなにかわかんない人はばんばんnull入れて行こうぜ
null 代入なしは一歩先行く人達の技だ
0487デフォルトの名無しさん
2006/01/03(火) 16:51:050488デフォルトの名無しさん
2006/01/03(火) 16:55:58http://mikilab.doshisha.ac.jp/dia/research/person/kouta/indi/report/java17.html
0489デフォルトの名無しさん
2006/01/03(火) 16:56:22/**
@version 1.0
*/
のようにクラスのバージョンを設定できますが、
クラスにバージョンを設定するメリットって何でしょうか?
プログラムのバージョンと同じと考えても良いのでしょうか?
また、バージョン管理はどのようにするべきでしょうか?
例えば、Aというプログラムではversion1.0のクラスを
Bというプログラムではversion1.1のクラスを使っている場合、
version1.0の方のクラスも上書きせずに残しておくべきでしょうか?
0490デフォルトの名無しさん
2006/01/03(火) 17:53:51実際にnullを入れた場合と、
入れていない場合とで
パフォーマンスにどう影響を与えるか、
メモリリークにどう影響を与えるか
テストコードを書いて実行して
比較して結果をレポートしてみるのはどうだろう?
0491デフォルトの名無しさん
2006/01/03(火) 18:01:30.NETフレームワークとは違って
Javaではバージョンを管理識別する仕組みはないから
単なるコメント以上の意味はないでしょう
運用ルールは好きにすればいい
正直.NETのバージョン管理うざいので何とかなりませんか
0492デフォルトの名無しさん
2006/01/03(火) 18:08:19> 通常Javaでは
>
> /**
> @version 1.0
> */
>
> のようにクラスのバージョンを設定できますが、
> クラスにバージョンを設定するメリットって何でしょうか?
> プログラムのバージョンと同じと考えても良いのでしょうか?
プログラムの「そのクラスだけ」のバージョンと同じ。
プログラムのバージョンを考慮するのは@sinceのほう。
> また、バージョン管理はどのようにするべきでしょうか?
> 例えば、Aというプログラムではversion1.0のクラスを
> Bというプログラムではversion1.1のクラスを使っている場合、
> version1.0の方のクラスも上書きせずに残しておくべきでしょうか?
バージョン管理システムCVSやSubversionを使えばリポジトリサーバに
差分情報だけを残しておくのも簡単で管理が楽になる。
さらにソースコードに
@version $Id$ と書いておくと、サーバにコミットするたびに
$Id$の部分に自動的にバージョン番号をふってくれるので非常に便利。
CVSよりもSubversionがお勧めだ。
詳しくはこちら
Subversion r4
http://pc8.2ch.net/test/read.cgi/tech/1129642894/
0493デフォルトの名無しさん
2006/01/03(火) 18:12:06意味のある null 代入が 意味のない null 代入に紛れるのが問題
スコープがなにか分からない人は勉強しる
ソースは文書であり、読み手が解読に苦労する文書は最低
0494デフォルトの名無しさん
2006/01/03(火) 18:18:39何をいっているんだおまいは。
VSSが.NET frameworkの一部だと思ってないか?
0495デフォルトの名無しさん
2006/01/03(火) 18:40:52VSSの話じゃないよ
アセンブリのバージョン管理の話
0496455
2006/01/03(火) 19:18:49残念ながら規約がそうなっているのでどのプロジェクトでも同じです。
>>490
一応そのつもりです。
VMが良くなっているなら、そういうリリースノートがあっても良いとおもうんだが。
これからはnull代入不要になります。みたいな。
0497デフォルトの名無しさん
2006/01/03(火) 20:04:44Subversion廚必死だな。
0498デフォルトの名無しさん
2006/01/03(火) 20:12:07ないんだっけ? JSR-277だとモジュール単位でしか管理できないよね。
0499480
2006/01/03(火) 21:40:38http://www.google.co.jp/search?hl=ja&q=java+%E5%8F%82%E7%85%A7+%E5%A4%89%E6%95%B0+%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%97+OR+%E7%AF%84%E5%9B%B2+%E3%83%96%E3%83%AD%E3%83%83%E3%82%AF+OR+block&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=lang_ja
0500480
2006/01/03(火) 22:15:09たとえばサーブレットだとsetAttribute("key", "value")ってやったのを
removeAttribute("key")せず(orにあたるメソッドがなくて)
setAttribute("key", null)してるってこと?
0501デフォルトの名無しさん
2006/01/04(水) 04:38:41ありがとうございます
0502デフォルトの名無しさん
2006/01/04(水) 08:31:55正確にはそうすべきだってのもわかるけど、
IOExceptionが出てしまうときってHDDのアクセスに限っていえば、
たぶんハードウェア的にぶっこわれたとか、どうしようもない事態のほうが多いと思うんだよね。
どうせSyste.exitするしかないわけで、しゃったらリソースの開放とかどうでもいいじゃない。
FileInputStream fis = null;
try {
fis = new FileInputStream(file);
}catch(IOException e) {
System.out.println(e);
} finally {
try {
fis.close();
}catch(Exception e) { ; }
}
だからなにがいいたいのかというと、とてもシビアなプログラム書いてる人には
上記の書き方が必要なのだろうけど、ほとんどのケースは
try {
FileInputStream fis = new FileInputStream(file);
}catch(IOException e) {
System.out.println(e);
}
で充分であって、万に一つの例外のために冗長なコードを書くのはちょっと
馬鹿げてるように思えるんだが、相場的にはどうなんでしょう?
0503デフォルトの名無しさん
2006/01/04(水) 08:34:37>どうせSyste.exitするしかないわけで、しゃったらリソースの開放とかどうでもいいじゃない。
どうせSyste.exitするしかないわけで、そのときはリソースの開放とかどうでもいいじゃない。
二つ目のサンプルはclose忘れてた。スマソ。
try {
FileInputStream fis = new FileInputStream(file);
fis.close();
0504デフォルトの名無しさん
2006/01/04(水) 08:45:24その書き方ではファイルが見るからないときNullPointerExceptionが発生します。
0505デフォルトの名無しさん
2006/01/04(水) 09:06:45きちんとclose処理されていないと不安で夜も眠れません
0506デフォルトの名無しさん
2006/01/04(水) 09:12:02それはtryに入る前にfile.exists()で確認してから入れるって事で良いのでは。
>>505
だから二つ目のでも、正常にファイルが指定されていれば、クローズできるのではという問いなんです。
万に一つのケースのために最初の書き方を頑なに守るべきなんでしょうか。
0507デフォルトの名無しさん
2006/01/04(水) 09:14:47日曜プログラミングならそれで十分
0508デフォルトの名無しさん
2006/01/04(水) 09:22:46いや、だからそれを聞いてるんですよ。
万に一つじゃないなら、それはどんな状況なのかしりたいのです。
で、そんな状況を自分の場合想定しなくても良いとわかれば、
安心して日曜プログラミングの書き方でいきたいなと。
0509デフォルトの名無しさん
2006/01/04(水) 09:51:52File#exists() の直後に new FileInputStream() しても
同名のファイルが常に存在してる保証はない。
クライアントサイドでアプリケーション一個だけしか立ち上げない、
ファイル操作してるのはユーザーだけとかならそれでも良いだろうけど。
exists と new FileInputStream の並びがアトミックだと保証されてるなら
シングルプロセッサ上では大丈夫だろうけど、そんなもん保証されてなかったと思うし。
0510デフォルトの名無しさん
2006/01/04(水) 10:05:46IOExceptionでも必ずしも終了しなくてもいいと思うが。
外付けとか、メモリーカードを抜いちゃったとか。
0511デフォルトの名無しさん
2006/01/04(水) 10:28:01サーバーサイドで動くアプリの場合はそうあるべきって感じですか。
複数のユーザもしくはスレッドが次々と対象となっているファイルを
削除したり書き換えてるような状況であれば最初の書き方が必要なのは理解できます。
今私はクライアントサイドでアプリケーション一個だけしか立ち上げない、
ファイル操作してるのはユーザーだけというようなものを書いてるので、
日曜プログラマ的な書き方で良さそうですね。
0512507
2006/01/04(水) 10:28:10いらないといえばいらないかも
0513デフォルトの名無しさん
2006/01/04(水) 10:31:18exitしないでリトライくらいはしてくださいね。
0514デフォルトの名無しさん
2006/01/04(水) 10:37:01外付けドライブの場合は、それは当然ですね。
でもHDD上ならまず考慮しなくて良いのでは。
先のマルチユーザ、マルチスレッドの例をのぞけば。
0515デフォルトの名無しさん
2006/01/04(水) 10:42:03好きにしていいと思うよ
0516デフォルトの名無しさん
2006/01/04(水) 10:45:06使用中だからといって、1msもあけずにリトライしたところで
普通はまずbusyでしょ。じゃあn分ごとにリトライ?
他のアプリが掴んで離さない場合はいくら待ってもしかたがないし。
そんな諸々の状況までめんどうみてたらきりがないじゃないですか。
もちろん求められる要件次第ですが。
0517デフォルトの名無しさん
2006/01/04(水) 10:46:46そんなの言われなくてもわかってますよ。
どんな書き方しようが自由ですもん。
でもそういう話をしてるんじゃないのはわかるでしょ。
0518デフォルトの名無しさん
2006/01/04(水) 10:48:27それはいいこと聞きました。ありがとう。
調べてみます。
0519デフォルトの名無しさん
2006/01/04(水) 10:50:11人の意見を否定する人とは話したくないんでね
「求められる要件次第」
0520デフォルトの名無しさん
2006/01/04(水) 10:53:07gcはいつ起きるか分かんないから
0521デフォルトの名無しさん
2006/01/04(水) 10:56:51そのおまえにおまえの意見ってどれとどれだよ。いってみな。
0522デフォルトの名無しさん
2006/01/04(水) 10:57:49訂正
>そのおまえにおまえの意見ってどれとどれだよ。いってみな。
そのまえにおまえの意見ってどれとどれだよ。いってみな。
0523デフォルトの名無しさん
2006/01/04(水) 10:58:34今は冬休みだぞ?
0524デフォルトの名無しさん
2006/01/04(水) 11:00:09たぶん、冬休みだから暇な人が遊んでんだと思う
0525507
2006/01/04(水) 11:23:09未だに冬休みな暇な人なんでlog4Jの実装走り読みしてみた
たとえば実際に書き込んでるとことは
http://svn.apache.org/repos/asf/logging/log4j/trunk/src/java/org/apache/log4j/helpers/QuietWriter.java
のwriteとかflushあたりなんだけど
もしエラーが起きたらerrorHandlerのerrorが呼ばれるんだけど、そこにclose処理はあるのかどうかを調べると面白いかも
適当に呼んだ限りでは見つからなかった
log4jのfinalize自体はここでclose処理を呼び出してる
http://svn.apache.org/repos/asf/logging/log4j/trunk/src/java/org/apache/log4j/AppenderSkeleton.java
ただ、今eclipseにソース落として適当に検索かけただけだから全部嘘かもw
真面目に知りたかったら、自分で調べるか、お金払ってどっかで聞くか、調べた内容公表してどっかのコミュニティで聞くといいよ(多分
0526デフォルトの名無しさん
2006/01/04(水) 11:56:43他人の意見に対しては
あたかもそれを既に想定していたかのような返しをしている
だが,自分がどのような場合に一番目の書き方をしなければならないかは
全くか書かず,他人のレスに便乗しているだけ
0527デフォルトの名無しさん
2006/01/04(水) 12:25:43知れないので、分かる範囲でならパフォーマンスに大きく影響しない限り冗長に書く。
メンテしないと確定している、その場限りの作業なら何も気にしない。
0528507
2006/01/04(水) 12:33:18んー、>>502がきっかけで自分も気になったからね
でlog4jみたら実際エラー時に明示的にcloseしてなさそうだし
冗長なロジックは自分も嫌いだからね、ビジネスロジック集中したいじゃん
>>502はgcとかfinalizeも分かってなくてこれから調べますって言ってるし
本当は基礎は一通り抑えてよ、とは思うけど 全く疑問を持たないよりは好きだよ
0529デフォルトの名無しさん
2006/01/04(水) 12:35:14HDDのアクセスに限っていえばって書いてある。よく読めよ馬鹿。
0530デフォルトの名無しさん
2006/01/04(水) 12:37:42その万に一つを拾いたがるのがプログラマーの愚かな性質なんだよ。
よく指摘されるけど。どれだけそれで時間を無駄にしてることが多いか。
0531デフォルトの名無しさん
2006/01/04(水) 12:39:46そーゆー場合は try も catch もせずにメソッドに throws IOException つけるかも。
0532デフォルトの名無しさん
2006/01/04(水) 12:47:360533デフォルトの名無しさん
2006/01/04(水) 12:52:10だからどうあるべきだと?
0534デフォルトの名無しさん
2006/01/04(水) 12:54:41東証みたいに半日止まったりしないって記事見掛けたけどホントかね?
もし、そうなら日本は悲しい限りだな
0535デフォルトの名無しさん
2006/01/04(水) 13:07:42っとかでるんだけど、どういうことなの?
0536デフォルトの名無しさん
2006/01/04(水) 13:07:47それはプログラマー自体のパフォーマンスを落としてるから、そういうときは書かない。
そもそも日曜プログラミングなら時間の無駄なんて関係ない。
仕事なら仕様にないものを実装するときは先に打ち合わせするものだと思う...
>>531
なるほど
0537デフォルトの名無しさん
2006/01/04(水) 13:10:58お前みたいなのが東証ダウンさせちゃうんだろうな
0538デフォルトの名無しさん
2006/01/04(水) 13:14:19無批判に定型ロジックいれる方が危ないぞ
もちろん、理解もせずテストもせず勝手に省くやつは論外だが
0539デフォルトの名無しさん
2006/01/04(水) 13:17:10>>497
CVS厨必死だなといいたいところだが百済なすぎ。
Subversionのほうが高機能でファイル/ディレクトリ名の変更、移動
があってもバージョンと差分情報を保持できる利点がある。
SubversionはApacheのいくつかのプロジェクトですでに使われている。
CVSはSourceForgeやEclipseなどで過去の遺産が残っているために
そう簡単に移行できないから仕方が無く使われている程度
0540デフォルトの名無しさん
2006/01/04(水) 13:20:56なにがおきるかわからないからとにかく極力安全な書き方以外はしないっていいたいのかな
0541デフォルトの名無しさん
2006/01/04(水) 13:27:52> >>517
> 人の意見を否定する人とは話したくないんでね
> 「求められる要件次第」
ちょっとまて、肯定しかしない人間としか話をしたくないのか?
だれかがお前のことを死刑にするといったとする。
そこである慈悲深い者がお前を助けるために
お前が死刑になるという意見を否定したとする。
だがお前は人の意見を否定する人間とは話したくない
といってそれを拒否した。
まもなくお前は処刑された!!!!!!
それでもいいのか貴様!!!!
いいのか? 殺されてもいいのか!!!!!?
0542デフォルトの名無しさん
2006/01/04(水) 13:29:58綺麗事しかいえない反アメリカ主義の左翼系儒教信者
0543デフォルトの名無しさん
2006/01/04(水) 13:30:550544デフォルトの名無しさん
2006/01/04(水) 13:31:50日曜プログラムという話は最初出てきてないのでただの釣り
人様に公開するならそれなりのことはしておいてほしいな
nullセットにしても釣りが多すぎ
0545デフォルトの名無しさん
2006/01/04(水) 13:34:48まあいいけど。
0546デフォルトの名無しさん
2006/01/04(水) 13:36:51> ニューヨーク証券取引所は東証よりレスポンスよくて、
> 東証みたいに半日止まったりしないって記事見掛けたけどホントかね?
> もし、そうなら日本は悲しい限りだな
速さに拘り過ぎた結果もたらした悲劇だな。
旧日本軍の戦闘機みたいだ。軽くて性能はいいが日本軍の無計画さ
が太平洋戦争で露わになった。
その無計画さは未だに日本人に根強くのこっている。
物質よりも精神を重視すると称してあまりにも無計画であることが
日本のこのIT業界の蕭然さを表している。
最後の最後も精神論を持ち出して特攻隊で多くの人を死に追いやった。
刀や竹槍だけで勝てるなどと過信して多くの人々が犠牲になった。
0548デフォルトの名無しさん
2006/01/04(水) 13:38:160549デフォルトの名無しさん
2006/01/04(水) 13:39:19は否定的な意見をいうことで新たな発見に
つながるということが理解できないのかな?
否定的な意見はすべて徹底的に排除するとは
一体何事やら
0550デフォルトの名無しさん
2006/01/04(水) 13:40:36罠にはまる可能性があってアブナイから気をつけよ。
フィッシング詐欺の手口でも最近よくみかける。
0551デフォルトの名無しさん
2006/01/04(水) 13:41:37否定的な意見をいいつつ肯定的な意見も同時にいうことだ。
否定しか言わない、肯定しか言わないのはどちらも建設的ではないし
技術革新は一切起こらない。
0552デフォルトの名無しさん
2006/01/04(水) 13:42:38よって否定を否定することは(ry
0553デフォルトの名無しさん
2006/01/04(水) 14:33:12ここ、質問スレなのよ(´・ω・`)
0554507
2006/01/04(水) 15:12:28log4jはあまりIOExceptionは考えてないみたいなので参考にならないぽい
ということでberkeley db java edition見てます
0555デフォルトの名無しさん
2006/01/04(水) 15:28:040556507
2006/01/04(水) 15:59:30やはり違いますね オープンに失敗したらcatchしてcloseしてる
ただ、トランザクションのコミットとかの場合はユーザまで例外が飛んで
ユーザがcatchしてcloseしないといけないみたい(finalizeは使ってないみたい
そういえばDBだと明示的にcloseしますね プールの解放にも関係したりするので
結局、要件しだいと
0557デフォルトの名無しさん
2006/01/04(水) 16:00:50画像を台形に変形できますか?
0558デフォルトの名無しさん
2006/01/04(水) 16:02:05冗長で読みにくいもっさりしたソースになる。リソースも無駄に消費する。
いかに安全に手抜きするかが勝負。
0560デフォルトの名無しさん
2006/01/04(水) 16:10:05と
Integer intobj = null;
って同じ意味ですか?
0561デフォルトの名無しさん
2006/01/04(水) 16:17:010562sage
2006/01/04(水) 16:26:59コンパイルエラー
と
intobjにnullが入る
nullが入るって変か?
0563デフォルトの名無しさん
2006/01/04(水) 16:36:36Javaからシリアル通信をしたいと考えています。
色々調べているうちにJava Communication APIというものがあるのを
知ったのですが本家SunにはWinのバージョンがありませんでした。
どこにもログ落ちてなさそうですし。
どうすればいいのでしょうか??
0564デフォルトの名無しさん
2006/01/04(水) 16:42:37javac1.5からはエラーじゃないんだな。
0565デフォルトの名無しさん
2006/01/04(水) 16:45:18マジで?!
場っばばっ場っ場バージョンアプーしないと!
ArrayListもなんか使いやすくなったらしいし
0566デフォルトの名無しさん
2006/01/04(水) 16:47:33まじよ。わたしゃめんどくさがりーだからこういう手抜きできるのは好き。
0567560
2006/01/04(水) 16:50:280568デフォルトの名無しさん
2006/01/04(水) 16:50:31Integer intobj = 0;
intobj = intobj + 120;
0569デフォルトの名無しさん
2006/01/04(水) 16:51:31たとえばそれって
Integer i=0xff;
Integer e=023;
とかやっても意図する動きするの?
だったらかなり便利だな
0570デフォルトの名無しさん
2006/01/04(水) 16:54:02うんとねー
System.out.println(intobj);
して自分で確認するといいよ。
0571デフォルトの名無しさん
2006/01/04(水) 16:56:050572デフォルトの名無しさん
2006/01/04(水) 16:57:15するけど、やっぱこれはダメかってケースもあった。
それがなんだったか今すぐは思い出せんけど。
0573デフォルトの名無しさん
2006/01/04(水) 17:01:38あっ!
パンチングマッすィーンか!
0574デフォルトの名無しさん
2006/01/04(水) 17:02:26Jakarta Commons DBUitlsを使え
0575デフォルトの名無しさん
2006/01/04(水) 17:05:53たとえばどんなふうに?
0576デフォルトの名無しさん
2006/01/04(水) 17:12:15System.out.println(i == 0xff);
trueだってさ、いいねこれ
0577デフォルトの名無しさん
2006/01/04(水) 17:19:075.0なんてだいぶ前に出てるのに今ごろ何言ってんだ?
0578デフォルトの名無しさん
2006/01/04(水) 17:19:56いいお年玉だ
http://love3.2ch.net/test/read.cgi/kageki/1136118877/
0579デフォルトの名無しさん
2006/01/04(水) 18:18:16竿を置いたまま昼寝してたら
たくさん掛かってた
0580デフォルトの名無しさん
2006/01/04(水) 18:21:36キモイ
0581デフォルトの名無しさん
2006/01/04(水) 19:39:210582デフォルトの名無しさん
2006/01/04(水) 22:00:28PrintStream ps = new PrintStream(new FileOutputStream(filename), true);
for(int i=0; i<NUM ; i++){
ps.print(hairetu[i]);
ps.rint('\n');
}
のようにファイルに出力したあとに
そのファイルの"行頭"に、また別の要素をprintしたいんですが
psの行頭に書き込む方法はなにかないでしょうか?
(全部読み込んでから書き込むと時間がかかるような処理のため)
0583デフォルトの名無しさん
2006/01/04(水) 22:36:250584デフォルトの名無しさん
2006/01/04(水) 22:52:11なにいってんの?w
>>582
新しいファイルつくって新しい要素書き込む
そのあと追記で元のファイルの内容を書き込んで
ファイル名変えればいい
0585デフォルトの名無しさん
2006/01/04(水) 22:54:581. bufferにため込んではく
2. RandomAccessFile(後から書き込むバイト数が分からない場合は移動も必要)
メモリ次第でどちらかかな
0586デフォルトの名無しさん
2006/01/04(水) 22:57:120587585
2006/01/04(水) 22:57:140588デフォルトの名無しさん
2006/01/04(水) 22:58:13通常は原始的な方法しかない
新しいファイルに書くしかないというか、それが普通の考え
0589585
2006/01/04(水) 22:59:120590デフォルトの名無しさん
2006/01/04(水) 23:00:21つーか俺は理由は違うけどな。
RandomAccessなんかやってる最中例外起きたらどないすんだろ?こいつら。
トランザクション設計できない時点で糞だなぁ。
ファイルは元に戻すことは出来ないんだよ?w
0591デフォルトの名無しさん
2006/01/04(水) 23:03:020592デフォルトの名無しさん
2006/01/04(水) 23:06:16仕様を考えたヤシが一番イタイ
0593585
2006/01/04(水) 23:12:490594582
2006/01/04(水) 23:17:05分かりにくくてすみません、
ファイルの1行目だけに要素をひとつ追加したいってことです
0595デフォルトの名無しさん
2006/01/04(水) 23:19:47原始的な方法をやるしかない
0596582
2006/01/04(水) 23:21:48をしてから、出来たファイル(out.txt)をもう一度読み込み
1行目に追加したい要素をprint
2行目以降はout.txtを読み込んでprint
って原始的な方向で書いてみようと思います。ありがとうございました
0597デフォルトの名無しさん
2006/01/04(水) 23:26:58少しずつなら速いのか?
0598デフォルトの名無しさん
2006/01/04(水) 23:36:190599デフォルトの名無しさん
2006/01/04(水) 23:42:150600デフォルトの名無しさん
2006/01/04(水) 23:44:230601デフォルトの名無しさん
2006/01/04(水) 23:47:19それはまた別のスレでやれ
0602デフォルトの名無しさん
2006/01/05(木) 00:20:430603デフォルトの名無しさん
2006/01/05(木) 02:04:100604デフォルトの名無しさん
2006/01/05(木) 04:04:2040代でJudeを作った香具師が終わっているとでも?
彼は凄いぞ。
25過ぎたら終わってるという根拠を示してくれ by 26歳
0605デフォルトの名無しさん
2006/01/05(木) 04:07:33何度も柱にぶつけても壊れない頭を持っているPG
0606デフォルトの名無しさん
2006/01/05(木) 07:38:28それは特殊な例
貴方には当てはまらないから
それにPGがというよりまともな設計が
できるんでしょ、その40代の人
そんなことも気付けない貴方は
やっぱり…
0607デフォルトの名無しさん
2006/01/05(木) 08:06:090608デフォルトの名無しさん
2006/01/05(木) 09:32:370609デフォルトの名無しさん
2006/01/05(木) 10:19:52型どおりでない区分けで成功してるって事例を教えてください
今後の参考にしたいので。
0610デフォルトの名無しさん
2006/01/05(木) 11:03:19Javaのアプレットでテキストフィールドに入力した文字列を変数に入れる時は
getText()でできますが、JPanelではgetText()でできませんでした。
初心者なんで質問の仕方がおかしかったらすいません。
理由が分かる方がいましたら教えてください。
0611デフォルトの名無しさん
2006/01/05(木) 11:12:570612デフォルトの名無しさん
2006/01/05(木) 11:15:214年もPGしてたらSEやアーキテクトへ進むのが普通だと思っていた
世の中自分の周りだけ見てたら気付かない事もあるんだと気付いた2006年新春
0613デフォルトの名無しさん
2006/01/05(木) 11:16:270614デフォルトの名無しさん
2006/01/05(木) 11:19:20それで動くのか?よっぽどアーキテクトが素晴しいだろうなw
0615デフォルトの名無しさん
2006/01/05(木) 11:23:250616デフォルトの名無しさん
2006/01/05(木) 11:34:29使っていなかったので使ってみましたがだめでした。
0617デフォルトの名無しさん
2006/01/05(木) 11:42:33コード晒してみ
0618デフォルトの名無しさん
2006/01/05(木) 11:53:52アプレットはAWTでやったけど、今Swing勉強してるだよね?
ちなみに変数を*入れる*のはsetText(String)だけ、そんな落ち?
0619デフォルトの名無しさん
2006/01/05(木) 12:00:03できました。ありがとうございました。
0620デフォルトの名無しさん
2006/01/05(木) 12:20:24研究部門があるところは、そんな区分けないところの方が多いんじゃない?
例えば、携帯電話関連の新機能開発とか。
B向けでも、ハード&ソフトやってる小規模の会社は分けてないと思う。
0621デフォルトの名無しさん
2006/01/05(木) 12:21:490622デフォルトの名無しさん
2006/01/05(木) 12:25:200623デフォルトの名無しさん
2006/01/05(木) 13:15:33MVCできちんと書こうとした時、処理の途中でユーザーへ問い合わせしたい事態が発生した場合、
皆さんはどのように処理していらっしゃいますか?
0624デフォルトの名無しさん
2006/01/05(木) 13:16:240625デフォルトの名無しさん
2006/01/05(木) 13:38:06なんだ
PG=設計ができないという勝手な決めつけで
25過ぎたら終わってるという根拠を持ち出しているわけだね。
アメリカじゃPGはSEやアーキテクトややってることも
すべてできるとされている。だからアメリカのプログラマは地位が高い。
そして日本のソフトウェアの品質は非常に低い。
プログラマの地位が低ければソフトウェアの品質も悪くなるのは当たり前。
それに気づかないワンマン馬鹿経営者や顧客は多いが。
0626デフォルトの名無しさん
2006/01/05(木) 13:40:32これでも読んで目を覚ませ。
26歳じゃプログラミング経験はまだまだ浅い。まだまだ生兵法しかできないレベルだ。
プログラミングを独習するには10年かかる
http://www.yamdas.org/column/technique/21-daysj.html
0627デフォルトの名無しさん
2006/01/05(木) 14:08:04お金もらってやってますか?
新規の機能追加のついでに工数当ててます?
共通に手を入れたくなったらどうします?今動いてるやつのテストとかすべてやりますか?
というか、このスレの話題じゃない気もしますが、流れにのって質問
0628デフォルトの名無しさん
2006/01/05(木) 14:09:01もう少し詳しく
0629デフォルトの名無しさん
2006/01/05(木) 14:47:07質問なのですが、
Javaだとデフォルト引数使えないんですか?
↓の様にやったら「")"がありません」、「";"がありません」とエラー。
public int getMDays(int year = this.c_year,int month = this.c_month){
:
:
}
デフォルト値を定数にしてみても同じエラーでした。
jdk1.5.0_05です。
0630デフォルトの名無しさん
2006/01/05(木) 15:14:16> Javaだとデフォルト引数使えないんですか?
使えない。
public int getMDays(){ getMDays(this.c_year, this.c_month); }
public int getMDays(int year, int month){
//処理
}
とかすれば良いのでは?
0631デフォルトの名無しさん
2006/01/05(木) 15:15:40そんな記述はじめてみたよ。無理なはず。
しかも可読性悪いな・・・。
0632デフォルトの名無しさん
2006/01/05(木) 15:18:30http://java.sun.com/docs/books/jls/third_edition/html/classes.html#8.4.1
BNF読めりゃデフォルト引数が無い事ぐらいわかるだろ。
0633デフォルトの名無しさん
2006/01/05(木) 15:22:14引数なしの方、return 抜けてんじゃね?
0634デフォルトの名無しさん
2006/01/05(木) 15:27:20public int getMDays(){ return getMDays(this.c_year, this.c_month); }
0635デフォルトの名無しさん
2006/01/05(木) 15:29:040636デフォルトの名無しさん
2006/01/05(木) 15:33:400637デフォルトの名無しさん
2006/01/05(木) 16:09:51例えば、UI側からデータクラス側のファイル保存メソッドを呼んだとするじゃないですか。
で、書き込もうとしたら既にそのファイルが存在していた、と。
普通のプログラムは、書き込む前にユーザーに問い合わせますよね。
まぁ、この場合は事前に調べる関数を呼べば良いのかもしれませんが、
その手が使えないケースではみなさんどうしているのかな、と。
何か大きな勘違いをしている気もしますが・・・(^^;
0638デフォルトの名無しさん
2006/01/05(木) 16:10:260639デフォルトの名無しさん
2006/01/05(木) 16:15:490640デフォルトの名無しさん
2006/01/05(木) 16:22:20ユーザに問い合わせるのは上書きするかってこと?
画面増やすか、もとの画面にメッセージを表示するべきかを聞きたいのかな
自分はMVCと関係あるのかも分かんないやw
WebProg板で聞いてみたら?
0641629
2006/01/05(木) 16:23:29やはり使えないですか・・・。
教えて頂いたように、分けて記述する事にします。
0642デフォルトの名無しさん
2006/01/05(木) 16:38:10例えば、
actionPerformed(ActionEvent e){
data.store();
}
...
public void store(){
File f = new File("hogehoge.dat");
if(!f.exists()){
FileOutputStream out = new FileOutputStream(f);
out.write(param);
}
else{
...
}
}
というコードがある時に、存在したら上書きするか聞きたいわけですが、当然elseの部分にはUIロジックを書きたくない。
けど、そうするには処理を中途で放り出したままreturnしてUIロジックに戻らなきゃいけないことになるので、
どうしたらきれいに書けるんだろう、と。
0643デフォルトの名無しさん
2006/01/05(木) 16:48:14PGって肩書きが良いの?
アメリカ云々も良いけどそんなに肩書きにこだわる理由が判らない
0644デフォルトの名無しさん
2006/01/05(木) 16:54:47システム開発にはPGとSEしかいないような言い方だし
0645デフォルトの名無しさん
2006/01/05(木) 16:56:07store()の中でelseのときには例外をthrowするんじゃだめなの?
ActionPerformedで例外をcatchしたら処理をUIに戻すという方法。
0646デフォルトの名無しさん
2006/01/05(木) 17:26:10外でcatchしても、store()に復帰できましたっけ?
この辺が思い違いなのかな。
0647デフォルトの名無しさん
2006/01/05(木) 17:40:48storeはキャンセルしてactionPerformedを終了して、
ユーザからの結果に応じてまた処理を実行するしかないような
0648デフォルトの名無しさん
2006/01/05(木) 18:29:14これに限らず、「ModelとViewを分ける」というのは理屈はいいんですけど、
ユーザーの反応を見なきゃいけない時にどうすれば良いのか分からないんですよ。
たとえば、今のを何個についてもループさせなければいけない時とか。
適宜処理段階ごとにメソッドを分けるしかないのかな・・・。
0649デフォルトの名無しさん
2006/01/05(木) 18:58:48ModelとViewを行ったり来たりするだけじゃないのか?
基本的にはすべての画面で確認があり、条件が整っている時は確認は端折るイメージとか
0650デフォルトの名無しさん
2006/01/05(木) 20:29:39c_year
駄目すぎ。
↓
cYear
まあいまあだがもっとわかりやすく
↓
currentYear
わかりやすいがmonthまでもcurrentMonthに
するくらいだったらメソッド名をわかりやすい名前に変えて
↓
year
だけでいんじゃねえのか
0651デフォルトの名無しさん
2006/01/05(木) 20:31:39プログラミング経験の乏しいウザイ営業やSEがプログラマのことを見下しているから
ムカっとくるんじゃないか?
SEはプログラミングしなくてもいいといってるやつもウザイ香具師に見えるし。
プログラミング経験がないSEは論外
0652デフォルトの名無しさん
2006/01/05(木) 21:41:24関数呼出のときにCでいうポインタ渡しってどうやるのでしょうか?
int val1, *val2, val3[10];
val2 = (int *)malloc(...);
foo1(&val1);
foo2(val2);
foo3(val3);
みたいなのはJavaではそれぞれどういうふうに書くのでしょう?
あまりにもアホな質問なのかもしれませんが、よろしくお願いします。
0653デフォルトの名無しさん
2006/01/05(木) 22:09:32異なるバージョンのDevelopmentKitを共存させる方法はないでしょうか?
ご存知の方、お教えください。
0654デフォルトの名無しさん
2006/01/05(木) 22:23:54public static void main(String[] args) {
StringBuffer s = new StringBuffer();
test(s);
Ssytem.out.println(s);
}
static void test(StringBuffer sb) {
sb.append("⊂二二二( ^ω^)二⊃");
sb = new StringBuffer();
sb.append("test");
}
}
0655デフォルトの名無しさん
2006/01/05(木) 23:23:21サーブレットってマルチスレッドで動作しますよね。
皆さんはStrutsなどを使用してアクションクラス作成する時に
同期処理ってどのように意識しますか?
やたらめったらsynchronized使うわけではないですよね?
どのように順序処理の整合性を保っていますか?
質問が大雑把ですみませんが、何か指針のようなものを
示していただけると助かります。
また、上述の事柄について解説してある書籍またはサイトを
紹介していただけると助かります。
0656デフォルトの名無しさん
2006/01/05(木) 23:28:08メンドクサイからEJB作ってそっちで同期
0657デフォルトの名無しさん
2006/01/05(木) 23:28:25Actionクラスのフィールドを使わない
以上
0658デフォルトの名無しさん
2006/01/05(木) 23:32:31Actionにビジネスロジックを実装しなければいい
0659デフォルトの名無しさん
2006/01/05(木) 23:45:53int val1;
Integer val2;
int[] val3;
val2 = (Integer) malloc(...);
foo1(Integer.valueOf(val1));
foo2(val2);
foo3(val3);
0660デフォルトの名無しさん
2006/01/05(木) 23:47:25int val1;
Integer val2;
int[] val3 = new int[10];
val2 = malloc(...);
foo1(Integer.valueOf(val1));
foo2(val2);
foo3(val3);
0661デフォルトの名無しさん
2006/01/05(木) 23:48:01値の保持はローカル変数のみで行う
0662デフォルトの名無しさん
2006/01/05(木) 23:49:22つ Action Class Design Guidelines
http://struts.apache.org/struts-action/userGuide/building_controller.html#action_design_guide
0663デフォルトの名無しさん
2006/01/06(金) 00:02:55普通にインストールすると別にセットアップされるだろ
JREも同じ
あくまでもデフォルトがパス設定やレジストリ設定されてるだけ
0664デフォルトの名無しさん
2006/01/06(金) 00:26:09遅レスですが、そう考えた方が良いのかもしれませんね。
ありがとうございました。
0665デフォルトの名無しさん
2006/01/06(金) 00:39:47皆さんありがとうございました。
また質問なのですがよろしくお願いします。
アクションクラスの内部から、ビジネスロジックを記述したbeanのインスタンスを
生成した場合、そのbeanインスタンス内部では同期処理を考えなくても
良いのでしょうか?
n個のリクエストがほぼ同時にあるアクションクラスに到達した場合に、
そのアクションクラスの内部でbeanインスタンスを生成すると、
メモリ上にはn個のbeanインスタンスが別々に生成されると考えれば
良いのでしょうか?
ご指導お願いします。
0666デフォルトの名無しさん
2006/01/06(金) 00:47:43それをJavaプログラム上で表示させると無限ループになってしまいます
どうすればよいでしょうか?
0667デフォルトの名無しさん
2006/01/06(金) 00:52:14アクションクラスのメソッドの中でBeans(sが必要)のインスタンスを作成する
0668デフォルトの名無しさん
2006/01/06(金) 01:08:01はい。 >>667 さんの言うとおりです。私の書き方が間違ってました。
0669653
2006/01/06(金) 01:22:58どうもありがとうございました。
最近、ようやくOSを98からXPにしたばかりなので、コマンドプロンプトの使い方が
よくわからなかったのです。
調べてみます。
重ねて御礼申し上げます。
0671デフォルトの名無しさん
2006/01/06(金) 02:08:19StringBufferのappendは、なぜStringBufferを返すのでしょうか?
StringBuffer sb = new StringBuffer();
sb.append("A"); //これで値が変わるのに
sb = sb.append("A"); //こうした代入ができるようになっている
0672デフォルトの名無しさん
2006/01/06(金) 02:13:58StringBuffer sb = new StringBuffer();
sb.append("こんな")
.append("使い方も")
.append("できるから")
.append("じゃないでしょうか");
0673java
2006/01/06(金) 02:20:33MouseEventでjavaアプレットを起動しているのですが
そのアプレット内にあるActionEventが実行されません。
何が原因なのでしょうか?
ActionEventのみで作ったプログラムは動きます。
よろしくおねがいします。
0674デフォルトの名無しさん
2006/01/06(金) 02:30:31JavaではEventはイベントキューに入れられて、一つずつ順番に実行されます。
MouseEventによって呼び出されたメソッド内で、他のEventを発生させても
それはイベントキューに入れられたままで、MouseEventのメソッドが終了するまで
実行される事はないのです。
0675デフォルトの名無しさん
2006/01/06(金) 02:45:58なるほど。言われてみれば、そんな使い方を便利だなぁと感じたこともありました。
ありがとうございます。お陰で今日はよく眠れそうです。
0676java
2006/01/06(金) 09:41:09ありがとうございます。
では、具体的にどうすればよいのでしょうか?
MouseEventとActionEventを交互に実行するのは
そもそもできない作業なのでしょうか?
0677デフォルトの名無しさん
2006/01/06(金) 11:54:26どれくらいの規模からが大規模なんでしょう?
クラスにして何クラスとか、総ステップ数何行くらいからとか、、、
0678デフォルトの名無しさん
2006/01/06(金) 11:59:17入念な設計をしないで破綻する様になったら大規模
と言うよりも
基本的には時間・予算という限られたリソースの中でどれだけ手を抜く事が出来るのかという考え方に立たないとダメ
0679デフォルトの名無しさん
2006/01/06(金) 12:02:470680デフォルトの名無しさん
2006/01/06(金) 12:20:46イベントメソッドからイベントメソッドを呼ぶべきじゃないな
0681デフォルトの名無しさん
2006/01/06(金) 12:21:260682デフォルトの名無しさん
2006/01/06(金) 12:25:45それやったら姉歯
0683デフォルトの名無しさん
2006/01/06(金) 12:44:36public void mouseClicked (MouseEvent e) {
new Thread() {
public void run () {
ActionEvent を呼ぶ処理
}
}.start();
}
こんな風にアクションイベントを呼ぶ処理を別スレッドでするのが
一つの方法です
0684デフォルトの名無しさん
2006/01/06(金) 14:17:14どやったら手ぬけますか?
0685初心者
2006/01/06(金) 14:39:18ActionEventでウインドウを破棄するためSystem.exit(0)を使っているのですが、
うまくいきません。
他に方法はないのでしょうか?
0686デフォルトの名無しさん
2006/01/06(金) 15:03:480687デフォルトの名無しさん
2006/01/06(金) 15:15:33どううまく行かないの?
dispose() はどう?
0688デフォルトの名無しさん
2006/01/06(金) 15:20:22JButtonで
0690デフォルトの名無しさん
2006/01/06(金) 15:28:38JTableのレンダラとしてJButtonを使った場合と仮定すると、
その場合イベントを受け取るのはあくまでJTable。
レンダラは描画のみで、イベントの送信先にならないことに注意。
JTableのイベントでクリックされた座標を取得して、
それがJButtonを描画した列ならなにがしの処理、とする。
0692デフォルトの名無しさん
2006/01/06(金) 16:16:26JTableにセットするTableCellEditor実装クラスを作成して、
それにJButtonを所持させます。
TableCellEditor#getTableCellEditorComponentメソッドの返値は
そのJButtonにします。
そのJButtonに任意のActionListenerをアタッチする事により
ボタン押下のイベントをJButtonで受け取れます。
0693デフォルトの名無しさん
2006/01/06(金) 21:04:04どういう文字や文字列が変換できないのでしょうか?
下のようなソースで実行しました。
String str="LAPL:ADFURAL:http"
String stuck = String.valueOf(str.charAt(0));
int param = Integer.parseInt(stuck);
System.out.println(param);
これだと大文字のLが変換できて無いようなのですがorz
0694デフォルトの名無しさん
2006/01/06(金) 21:12:52int num = Integer.parseInt( "1234" );
// 693 が望んでいることはこっちかと
int num = "LAPL".charAt(0);
0695デフォルトの名無しさん
2006/01/06(金) 21:16:44自分アホ過ぎた・・・・・・orz
レスありがとうございます、無事解決しました。
0696デフォルトの名無しさん
2006/01/06(金) 23:06:36ありがとうございます。
つまりオブジェクト(この用語でいいのかわかりませんが)で渡せば必ずCで言うポインタ渡しになるということでしょうか?
intのような基本のデータ型のポインタを渡すことはできないということでしょうか?
また、オブジェクトをポインタ渡しで渡したくない場合はどうするのでしょう?
Java(というかオブジェクト指向?)がよくわかっていないため、的はずれな質問かもしれませんが
よろしくお願いします。
0697デフォルトの名無しさん
2006/01/06(金) 23:15:55> intのような基本のデータ型のポインタを渡すことはできないということでしょうか?
出来ないが、int なら Integer, float なら Float のように対応するラッパークラスが用意されてる
> また、オブジェクトをポインタ渡しで渡したくない場合はどうするのでしょう?
出来ない
0698デフォルトの名無しさん
2006/01/06(金) 23:21:59ポインタって言葉は忘れたほうが良いよ
混乱を招く元
0699デフォルトの名無しさん
2006/01/06(金) 23:24:06忘れる訳にはいかんだろ。
アセンブラを知らない若い衆ほど、C言語でポインタを正確に理解しておらず
軽んずる傾向が強いのは嘆かわしい限り
0700デフォルトの名無しさん
2006/01/06(金) 23:54:210701デフォルトの名無しさん
2006/01/07(土) 00:57:09ポインタという概念自体は軽んじてないように見えるけどなー。
Javaの場合、ポインタの概念を含めて考えると混乱する部分が多いので
頭の中で変な置き換えをしないためにも、Java⇔Cみたいな考え方を
しないほうがいいよっていう忠告だと思った。
あとアセンブラを知ってるとポインタ理解の助けとなることは同意だけど
知らないから理解できないというのはどうかなぁ。軽んじているのじゃなくて
無理解から負け惜しみを言っただけかも知れないし。
ポインタについては「難しい」という漠然とした風潮があることにも原因があると思う。
実際普通に勉強していけば理解できるはず。入門書なんかでも、そこだけ
気合入れすぎてかえって難しくなってる気がするよ...スレ違いごめんなさい。
0702デフォルトの名無しさん
2006/01/07(土) 01:01:02プリミティブ型の位置づけが微妙だけど
0703デフォルトの名無しさん
2006/01/07(土) 01:10:24若干違うんだよね
C++のほうが扱いやすくてわかりやすいけど
0704デフォルトの名無しさん
2006/01/07(土) 01:11:13その微妙な問題があるために
ラッパークラスやObject#clone()が用意されているわけだが
0705デフォルトの名無しさん
2006/01/07(土) 01:41:12↓(ポインタという概念が無意味という意味ではない)
変数はオブジェクトを参照するためのもの(参照しているもの)
変数をメソッドの引数としたときは、メソッドに渡されるのは変数そのものではなく
変数が参照しているオブジェクトが渡される
⇒foo(bar)→barが参照しているオブジェクトが渡されるのであって、barに関する情報が渡されるのではない
メソッド内で、引数に渡されたオブジェクトの状態を変えると呼び出し元に影響を与える
⇒呼び出しもとと同じオブジェクトを対象としているのだから当然
bar := hoge new.
foo(bar).
---
foo(Object boo) {
boo.method();
}
メソッド内で、引数の変数が参照するオブジェクトを変えても呼び出し元へは影響しない
⇒引数と渡しているのはあくまで変数が参照するオブジェクトであって、変数の情報ではない
bar := hoge new.
foo(bar).
---
foo(Object boo) {
boo := nil.
}
0706デフォルトの名無しさん
2006/01/07(土) 03:26:07ポインタは忘れた方がいいよ。
Javaに限らず新しい言語を覚える時は新鮮な気持ちで学習した方が効率がいいよ。
あとで振り返って、言語間の扱いかたの差異を気にする程度で十分。
日本語に直して英語を覚えても、日本語風英語になってしまうのがいい例。ネイティブ英語を身につけたければ日本語文法は忘れたほうがいい。
PGにも姉歯みたいに手抜き設計する香具師が居るんだね。
法整備進めて、アフォな設計するPGに責任取らせないと良くならないかな。
0707デフォルトの名無しさん
2006/01/07(土) 04:52:00後半禿
0708デフォルトの名無しさん
2006/01/07(土) 12:51:53型チェック以外何かあるか?
0709デフォルトの名無しさん
2006/01/07(土) 13:52:04javaでwindowを作って、そこにリンクのような形でhtmlに繋げる方法ってのは
ありますか?
0710デフォルトの名無しさん
2006/01/07(土) 13:57:25はじめのウインドウもIEなどのブラウザじゃだめなの?
0711デフォルトの名無しさん
2006/01/07(土) 14:06:48Cのポインタは、ただデータのアドレスを示す抽象的な値だけど
C++のポインタは、それをReferenceとして抜き出せる具体的な値で
だから型チェックができるじゃない
0712デフォルトの名無しさん
2006/01/07(土) 14:11:410713709
2006/01/07(土) 14:15:25javaから繋げることができれば、最初のウィンドウはIEでも全然問題ないです。
javaでGUIを作っていて、そのGUIのヘルプメニューみたいなものから直接htmlに繋げたかったんです。
0714デフォルトの名無しさん
2006/01/07(土) 14:29:45JEditorPaneあたりを使うのが一般的なんだろうがJLabelでも簡易表示は可能だ。
SWTのBrowserみたいにネイティブのブラウザをラップしたものもあるので
そのあたりを使うのも可能。
0716デフォルトの名無しさん
2006/01/07(土) 14:43:400717デフォルトの名無しさん
2006/01/07(土) 16:21:320718デフォルトの名無しさん
2006/01/07(土) 17:57:450719デフォルトの名無しさん
2006/01/07(土) 18:13:33少し探してみたのですが、なくて困っています・・・
もしくは、string型のIPアドレスからInetAddressクラスを生成する方法でもかまいません。
どなたか、ご教授ください
よろしくお願いします
0720デフォルトの名無しさん
2006/01/07(土) 18:14:240721デフォルトの名無しさん
2006/01/07(土) 18:54:330722デフォルトの名無しさん
2006/01/07(土) 19:03:16できました!!
ありがとうございました。
getByName(String)に直接IPアドレスを与えるとは全く思いつきませんでした
本当に助かりました。
ありがとうございました
0723デフォルトの名無しさん
2006/01/07(土) 19:13:27姉歯問題ならSOX法で解決!
0724デフォルトの名無しさん
2006/01/07(土) 20:24:46http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/net/InetAddress.html#getByName(java.lang.String)
ってか、Javadocくらい読んだら?
ホスト名は「java.sun.com」のようなマシン名か、IP アドレスのテキスト表現です。リテラル IP アドレスが指定された場合、
アドレス形式の有効性だけをチェックします。
と書いてあるじゃん。
0725デフォルトの名無しさん
2006/01/07(土) 20:27:23結局「初心者」って言葉が免罪符だと思ってる奴ばっかってことだよ
0726デフォルトの名無しさん
2006/01/07(土) 21:53:380727デフォルトの名無しさん
2006/01/07(土) 21:58:09FlowLayoutで配置したJPanelをAddする
0728デフォルトの名無しさん
2006/01/07(土) 22:02:50硫黄酸化物? とか思った俺はロートル。
0729デフォルトの名無しさん
2006/01/07(土) 22:49:41いまひとつ翻訳しきれてないように見えるんだが。
0730デフォルトの名無しさん
2006/01/07(土) 23:30:26ありがとうございます。よくわかりました。
intとintの配列とクラスのインスタンスと・・・とごっちゃになってました。
少し頭の中が整理できました。
>>698,701-706
ご忠告ありがとうございます。ずっとCだったのでとても苦労してます。
0731デフォルトの名無しさん
2006/01/08(日) 09:51:19javaでmp3ファイルを読み込むのはどんなクラスを使ったらいいでしょうか?
mp3以外の音声ファイルでもいいです;
読み込んだものを表示してみたいと思いました。
0732デフォルトの名無しさん
2006/01/08(日) 10:11:13現状ではWindowsでJava Communication APIを使う方法はないのでしょうか?
sunのサイトではダウンロードできないみたいなんですが…
よろしくお願いします
0733デフォルトの名無しさん
2006/01/08(日) 10:11:28Java Sound API
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/javax/sound/sampled/package-summary.html
ガイド:
http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/sound/programmer_guide/contents.html
mp3はデフォルトでは使えなかったような気がするが、wavは使える。
0734デフォルトの名無しさん
2006/01/08(日) 11:28:51そういったNativeな機能はあまり期待しない方がいいよ
そういったことがやりたければC++をやりなさい
0735デフォルトの名無しさん
2006/01/08(日) 12:48:180736デフォルトの名無しさん
2006/01/08(日) 14:09:50JMFかJLayerを使う手もある。
0737デフォルトの名無しさん
2006/01/08(日) 16:02:020738デフォルトの名無しさん
2006/01/08(日) 16:36:45java製のブラウザならjdkのサンプルかなんかにあった気がする
>ボタンとかも押したらちゃんさせたい
フォームのサブミットボタンでポスト送信していってこと?
まずは基本的な用語を覚えてないと人に丸投げすることもできないぞ
http とか htmlとか勉強しる
0739デフォルトの名無しさん
2006/01/08(日) 16:38:01俺はキータイプの勉強だな orz
0740デフォルトの名無しさん
2006/01/08(日) 16:42:22楽にやりたいなら JDIC の browser コンポーネント使えば?
0741732
2006/01/08(日) 22:34:20>>734
既にjavaで開発しているソフトがあって、それをシリアルの機材に対応させたいんです…。
実際の通信の部分は外部のCプログラムを呼び出すというのも検討してみます。
>>735
そんなものがあるとは知りませんでした。
それを使えばマックでもいける可能性があるわけですね!
0742デフォルトの名無しさん
2006/01/08(日) 22:47:26わりとFA用途でつかわれてるよ
ソケット通信すればそれがシリアルになる
フロー制御はあらかじめ設定するだけ
TCPIPが使えればいいだけなのでMacでもWinでもなんでもOK
0743デフォルトの名無しさん
2006/01/08(日) 23:22:50エラーがあったときの表示のされ方は異なるんですか?
0744デフォルトの名無しさん
2006/01/08(日) 23:30:50public static void main(String[] args) {
String str1 = new String("あああ");
String str2 = new String("あああ");
String str3 = "あああ";
String str4 = "あああ";
System.out.println( (str1 == str2) ? "同じ" : "違う" );
System.out.println( (str3 == str4) ? "同じ" : "違う" );
}
}
new String だとインスタンスの比較なのか "違う" となるのは分かったのですが、
もう片方は よく分かりません。 なぜ "同じ" となるのか教えて下さい。m(_ _)m
0746デフォルトの名無しさん
2006/01/08(日) 23:34:38""で囲まれたリテラルは使いまわされるから
str3もstr4も同じ"あああ"を指す
0748デフォルトの名無しさん
2006/01/08(日) 23:59:27>""で囲まれたリテラルは使いまわされるから
だからさ、毎回そうなるとは限らないということを何度いったら・・・
0749デフォルトの名無しさん
2006/01/09(月) 00:15:430750デフォルトの名無しさん
2006/01/09(月) 00:17:500751デフォルトの名無しさん
2006/01/09(月) 00:18:16例えば?
0752デフォルトの名無しさん
2006/01/09(月) 00:18:400753デフォルトの名無しさん
2006/01/09(月) 00:22:54>>135
0754デフォルトの名無しさん
2006/01/09(月) 00:27:42IBMは1.3/1.4/1.5の各バージョンにおいて、Java Comm APIのWindows
実装を出してるぞ。
0755デフォルトの名無しさん
2006/01/09(月) 00:28:08「""で囲まれたリテラルは、大抵の場合==で比較すると同じになる」
 ̄ ̄
つまり
「""で囲まれたリテラルは、==で比較すると常に同じになるわけではない」
最近、このスレだったか他のスレだったか忘れたけど
「そんな、あやふやなことはありえない、どっちかに確定する(どっちかは忘れたが・・・)」みたいなこといっている奴がいたけど、それは間違い。
このように、「使いまわされるかどうかはそのときに決まる」というのが正解。
こんなの簡単なプログラム書けばすぐ終わる事だって。
0756デフォルトの名無しさん
2006/01/09(月) 00:29:290757デフォルトの名無しさん
2006/01/09(月) 00:30:07euc-jpの各バイトを「"%" +2桁の16真数表現」に変換する方法がわかる方いますか
0758デフォルトの名無しさん
2006/01/09(月) 00:31:29こんなの簡単なプログラム書けばすぐ終わる事だって。
0759デフォルトの名無しさん
2006/01/09(月) 00:33:36はい、分かる方はここにいます
0760デフォルトの名無しさん
2006/01/09(月) 00:35:31(コンパイル時にinternされる)
実行時に新しいインスタンスが構築される場合は
基本的に同一にならない(同値ではあるけど)
0762デフォルトの名無しさん
2006/01/09(月) 00:36:37おかぁさんといっしょに、おうちかえりましょうね〜
0763デフォルトの名無しさん
2006/01/09(月) 00:39:35おれは759じゃないけどな、
「小泉純一郎(euc)」の文字列をeucで読み取ってバイト配列にすればいいんじゃないの?
%は自分でつけるんだろうが・・・
まぁなんだ、それってJavaの質問なのかといいたい。
C言語から始めてください。
基本の基を知らないうちにプログラム始めるからそうなるのですよ。
0764デフォルトの名無しさん
2006/01/09(月) 00:46:53Javaを学習するのにCは不要
JavaはC言語を拡張したものではなく、C言語記法をまねただけ
おわかり?
0765757
2006/01/09(月) 00:56:34String str = "小泉純一郎";
HexDumpEncoder enc = new HexDumpEncoder();
System.out.println(enc.encode(str.getBytes()));
}
結果
0000: 8F AC 90 F2 8F 83 88 EA 98 59
この方法は間違いですよね
助言をお願いします
0766デフォルトの名無しさん
2006/01/09(月) 01:00:27アイコンを表示させるアプリケーションは作れますか?
0767デフォルトの名無しさん
2006/01/09(月) 01:01:18「Java 言語仕様 3.10.5 文字列リテラル」より。
同じパッケージ(7.)の同じクラス内(8.)のリテラル文字列は,同じオブジェクト String(4.3.1)への参照を表現する。
同じパッケージの異なるクラス内のリテラル文字列は,同じオブジェクト String への参照を表現する。
異なるパッケージの異なるクラス内のリテラル文字列は,同様に,同じオブジェクト String への参照を表現する。
定数式(15.27)によって計算される文字列は,コンパイル時に計算され,それらがリテラルであるかのように扱われる。
実行時に計算される文字列は,新しく生成されるものであって,別の文字列とする。
計算された文字列を明示的に収容した結果は,同じ内容をもつ既存のリテラル文字列と同じ文字列とする。
0768デフォルトの名無しさん
2006/01/09(月) 01:02:16もうひとつ、str.getBytes()の時点でOSがWindowsなら化けた文字でbyte[]に変換されてしまう
0769デフォルトの名無しさん
2006/01/09(月) 01:04:08>アイコンを表示させるアプリケーションは作れますか?
意味がよくわからない
縮小化したときのタスクバーの右上ってどの部分なのか?
0770デフォルトの名無しさん
2006/01/09(月) 01:06:21>縮小化したときのタスクバーの右上ってどの部分なのか?
Windowsのタスクバーの右端(時計表示のすぐ左)ってことです。
0771デフォルトの名無しさん
2006/01/09(月) 01:08:49それを言うなら「タスクトレイ」な
あーそれは無理、タスクトレイに常駐アイコンとかも無理
0772デフォルトの名無しさん
2006/01/09(月) 01:11:33とうとう、頭おかしい奴が現れたか・・・というか・・・勘違いって奴?
==は何を比較していますか?
equals(Stringの)は何を比較していますか?
equals(Objectの)は何を比較していますか?
0773デフォルトの名無しさん
2006/01/09(月) 01:12:540774デフォルトの名無しさん
2006/01/09(月) 01:16:58ありがとう。タスクトレイっていうのか。
無理ですかorz
常駐して動作するアプリ作ろうと思ったんだけど(メモリ掃除ソフトみたいな)
Cの方がいいのかな(´・ω・`)
0775デフォルトの名無しさん
2006/01/09(月) 01:19:29で?おまいさんは>>772の3つの答えをわかって言っているの?
0776デフォルトの名無しさん
2006/01/09(月) 01:21:150777デフォルトの名無しさん
2006/01/09(月) 01:21:37あとは6でできるようになるから、出るのを待つか。
0778デフォルトの名無しさん
2006/01/09(月) 01:24:090779デフォルトの名無しさん
2006/01/09(月) 01:26:26アフォの俺にもわかるように結論書いてくれよ最後に
0780デフォルトの名無しさん
2006/01/09(月) 01:29:16だから、>>755
「""で囲まれたリテラルは、==で比較すると常に同じになるわけではない」 以上
0781デフォルトの名無しさん
2006/01/09(月) 01:31:550782デフォルトの名無しさん
2006/01/09(月) 01:34:50これでも使うとよろし
http://systray.sourceforge.net/
0783767
2006/01/09(月) 01:35:30""で囲まれた同値な文字列のリテラルは「かならず」同一Stringオブジェクトになります。
0784デフォルトの名無しさん
2006/01/09(月) 01:40:07おお
サンクス
0785デフォルトの名無しさん
2006/01/09(月) 01:42:17new String("あああ")はリテラルじゃない
0786デフォルトの名無しさん
2006/01/09(月) 01:45:07同じパッケージの同じクラス内
同じパッケージの異なるクラス内
異なるパッケージの異なるクラス内
で同一になるという言語仕様を満たすため、
クラスファイルを読み込むときにVMは
クラスファイルの定数プールに含まれる文字列を
VM内の文字列プール内で一意にまとめるという処理を行なっている。
0787デフォルトの名無しさん
2006/01/09(月) 01:51:150788デフォルトの名無しさん
2006/01/09(月) 01:52:050789デフォルトの名無しさん
2006/01/09(月) 01:53:04反例だから一個あれば十分なんだけど、これまで誰も==がtrueにならない
例を出してないよね。
0790デフォルトの名無しさん
2006/01/09(月) 01:54:510791デフォルトの名無しさん
2006/01/09(月) 02:00:370792デフォルトの名無しさん
2006/01/09(月) 02:01:430793デフォルトの名無しさん
2006/01/09(月) 02:04:050794デフォルトの名無しさん
2006/01/09(月) 02:10:43じゃあ、書いてみて
0795デフォルトの名無しさん
2006/01/09(月) 02:11:27http://www.y-adagio.com/public/standards/tr_javalang/3.doc.htm#101083
package testPackage;
class Test {
public static void main(String[] args) {
String hello = "Hello", lo = "lo";
System.out.print((hello == "Hello") + " "); // 同一クラスのリテラルどうしの参照検査
System.out.print((Other.hello == hello) + " "); // 他クラスとのリテラルどうしの参照検査
System.out.print((other.Other.hello == hello) + " "); // 他パッケージとのリテラルどうしの参照検査
System.out.print((hello == ("Hel"+"lo")) + " "); // リテラルどうしを加算したものとの参照検査
System.out.print((hello == ("Hel"+lo)) + " "); // リテラル+変数を加算したものとの参照検査
System.out.println(hello == ("Hel"+lo).intern()); // 上記の結果を intern したもの
}
}
class Other { static String hello = "Hello"; }
package other;
public class Other { static String hello = "Hello"; }
0796続き
2006/01/09(月) 02:12:13true true true true false true // これらが出力されることが規定されている
0797デフォルトの名無しさん
2006/01/09(月) 02:15:390798デフォルトの名無しさん
2006/01/09(月) 02:19:040799デフォルトの名無しさん
2006/01/09(月) 02:24:55otherパッケージの方、public付けわすれてるよ
0800デフォルトの名無しさん
2006/01/09(月) 02:26:03>>799
>>799
0801デフォルトの名無しさん
2006/01/09(月) 03:10:09""で囲まれたリテラルって連結も話題になってたんだね
Javaしか勉強してないと心が読めないな
0802デフォルトの名無しさん
2006/01/09(月) 03:17:09try {
URLConnection conn = new URL(url).openConnection();
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
StringBuffer sb = new StringBuffer();
String line;
while ((line = br.readLine()) != null) {
sb.append(line + "\n");
}
System.out.println(sb.toString());
} catch (Exception e) {
e.printStackTrace();
throw new Exception("error");
}
htmlを表示したいんですが、日本語が文字化けしてしまいます
既出かとは思うんですが、この場合の解決策を教えてください
0803デフォルトの名無しさん
2006/01/09(月) 03:18:580804802
2006/01/09(月) 03:20:480805デフォルトの名無しさん
2006/01/09(月) 03:23:330806デフォルトの名無しさん
2006/01/09(月) 03:35:27↓
String test = URLEncoder.encode(sb.toString(),"euc-jp");
System.out.println(test);
euc-jpでした
自分なりにやってみたのですがだめでした
「"Java質問・相談スレッド" 文字化け」で検索したのですがなかなか見つからないので
わかる人すいませんがお願いします
0807デフォルトの名無しさん
2006/01/09(月) 04:01:45全て目を通すこと。そうすれば、
InputStreamReader(InputStream in)
を使ってはいけないことと、かわりに何を使えばいいかがわかるでしょ。
0808デフォルトの名無しさん
2006/01/09(月) 04:13:52これもtrueか。
コンパイル時に計算すましてるのか。
>System.out.print((hello == ("Hel"+lo)) + " "); // リテラル+変数を加算したものとの参照検査
もしloがfinalならコンパイル時に確定できるわけだけどどうなるの?
コンパイラいれんのじゃまくさい。
0809デフォルトの名無しさん
2006/01/09(月) 04:20:45>>755=>>793
「簡単なプログラム書けばすぐ終わる」ならさっさと書きやがれ。
お前が同じにならない例を1つでも出せばそれで終わるんだからな。
まあ、そんな例出せるわけないわな。pgr
0810デフォルトの名無しさん
2006/01/09(月) 04:38:01http://www.y-adagio.com/public/standards/tr_javalang2/lexical.doc.html#101083
>・定数式(15.28)によって生成される文字列は,コンパイル時に計算され,リテラルのように扱われる。
http://www.y-adagio.com/public/standards/tr_javalang2/expressions.doc.html#5313
>コンパイル時の定数式 (constant expression) は,次のものだけを使用して構成されるプリミティブ型の値又は String を表す式とする。
>・初期化子が定数式である final 変数を参照する単純名
0811デフォルトの名無しさん
2006/01/09(月) 05:02:50責任を持って >>755 は反論しる
ワクテカ
0812デフォルトの名無しさん
2006/01/09(月) 07:48:17しています。インストーラではインストールする項目
が選べますが、
【開発ツール】J2SE Development Kit 5.0 (専用 JRE 5.0 を含む)
【Public JRE】スタンドアロン JRE
このうち、上の「専用 JRE」てのはなんなんでしょうか?
0813デフォルトの名無しさん
2006/01/09(月) 08:24:21取るんでしょうか?それともアプリケーションからの要求に
応じて動的にメモリ取ってくれるんでしょうか?
Java アプリ動かすと、javaw.exe が激しくメモリ
占有しているんで、気になります。
0814デフォルトの名無しさん
2006/01/09(月) 08:32:30釣りじゃなくてリアルで分かってないと思われ
0815デフォルトの名無しさん
2006/01/09(月) 08:35:59動的にとるが上限あり
0816デフォルトの名無しさん
2006/01/09(月) 08:56:430817デフォルトの名無しさん
2006/01/09(月) 08:57:23激しく固まったりして使い物にならないのはなぜ?
0818817
2006/01/09(月) 09:00:53華麗にスルーしてください。
0819デフォルトの名無しさん
2006/01/09(月) 09:45:36mustang ならタスクトレイ使えるよ。
メモリ掃除ソフトは作れないと思うけど。
0820デフォルトの名無しさん
2006/01/09(月) 10:26:05privateJREというやつだ
SDKを動かすためにいれるランタイム
publicはレジストリ登録やパスを通していてシステム全体で使えるものだが
privateJREはそのアプリが必要とするランタイム
だから、publicとしてシステムには1.4.2をいれておいて
開発用に1.5.0ということも普通にある
また、細かいリビジョンでの違いが存在するため挙動を確保するために
アプリにつけて配布というのはよくあること
0821デフォルトの名無しさん
2006/01/09(月) 10:57:430822デフォルトの名無しさん
2006/01/09(月) 11:03:390823デフォルトの名無しさん
2006/01/09(月) 11:51:00民度の低そうなやつに限ってGUIアプリだの、
常駐アプリだのを作りたがるね
0824デフォルトの名無しさん
2006/01/09(月) 12:05:11わからない奴らだな、”常に==が同じになるとは限らない”といっている意味がわからないのか?
どうなるかは常にわからないのだから、何回も繰り返して表示するプログラム書けばいいでないの。
そのうちたまにfalseになるんだから
0825デフォルトの名無しさん
2006/01/09(月) 12:09:59阿呆だな
「常に〜とは限らない」のならば
常で無い場合には必ず何がしかの条件があるはずだろ
その条件も提示せず結論のみ言ってるのは
細木かずこの占いより信用できない
0826デフォルトの名無しさん
2006/01/09(月) 12:13:14変数の初期化の仕方によって結果は異なるね。
>>825
勘違いしている
"aaa" == "aaa"
は確かに常にtrueだけど、>>824が言っているのは「==」の部分
両辺のオブジェクトについては触れてないだろ?
比較したいオブジェクトによって結果は異なる。
"aaa" == "aaa" の "=="かもしれないし、
new String("aaa") == new String("aaa") の "=="かもしれない
0827826
2006/01/09(月) 12:14:58>そのうちたまにfalseになるんだから
これはあり得ないね
忘れてくれ
0828デフォルトの名無しさん
2006/01/09(月) 12:16:09意味の捉え方が違う
スレッドで割り込むタイミングが全く一緒でしょうか?
アレと同じだよ
0829デフォルトの名無しさん
2006/01/09(月) 12:19:37それは条件を提示する事が出来るが
>>824は結果のみfalseになる場合もあると言ってる
条件提示できずとも,そのプログラムを是非晒してもらいたいものだ
0830デフォルトの名無しさん
2006/01/09(月) 12:26:47==で常に同じ結果になるとそこまで言うのなら(リテラルパターンの場合だけだが)
==使ってもいいじゃない?なのに(多分)おまえらは使っていないだろう?なぜ?
>条件提示できずとも,そのプログラムを是非晒してもらいたいものだ
そのまえによーお前の使っているPCの種類おしえろやCPUな
0831デフォルトの名無しさん
2006/01/09(月) 12:30:01簡単なプログラムを書いてくれないためにループしてる件について
期待age
0832デフォルトの名無しさん
2006/01/09(月) 12:31:24ThinkPadX31(PentiumM1.7GHz)、WindowsXP
VMはIBM1.4.2とSUN1.5.0
で、何で==を使って比較しないか。
それは両辺のオブジェクトの生成経緯を知らないから。
明らかにリテラルなら使うかもしれないが、そもそも
同一リテラルを比較することが明白なら
if(true)とでもしたほうがまし。
0833デフォルトの名無しさん
2006/01/09(月) 12:34:22ハイ,条件が一つ出ました
どうやらfalseになる条件にCPUの種類が関係するそうです
期待ageage
0834デフォルトの名無しさん
2006/01/09(月) 12:36:57>期待age
プログラムは簡単だけどよー
環境構築の手順書くのがめんどいんだよ
ここでも読んでくれ
http://tomcat.apache.org/tomcat-5.5-doc/balancer-howto.html
0835デフォルトの名無しさん
2006/01/09(月) 12:39:17環境構築はTOMCATのサイト見るんで、
プログラム書いてよ
0836デフォルトの名無しさん
2006/01/09(月) 12:40:12わかった
環境はなんとかしよう
まずはその簡単なプログラムを提示してくれ
0837デフォルトの名無しさん
2006/01/09(月) 12:43:29リテラル値とは限らないからだろ。
0838デフォルトの名無しさん
2006/01/09(月) 12:44:43も し か し て
再 現 で き な い の ?
0839デフォルトの名無しさん
2006/01/09(月) 12:47:37JDKをピッチでダウンロードしている
Eclipseをピッチでダウンロードしている
Tomcatをピッチでダウンロードしている
Apacheをピッチでダウンロードしている
Cygwinをピッチでダウンロードしている
Apache-Tomcatコネクタをコンパイルしている
0840デフォルトの名無しさん
2006/01/09(月) 12:52:28家に無線LAN来る前はそんなことやっていたな
0841デフォルトの名無しさん
2006/01/09(月) 12:54:11とかですか?
0842デフォルトの名無しさん
2006/01/09(月) 13:01:350843デフォルトの名無しさん
2006/01/09(月) 13:11:470844デフォルトの名無しさん
2006/01/09(月) 13:14:180845デフォルトの名無しさん
2006/01/09(月) 13:15:210846デフォルトの名無しさん
2006/01/09(月) 13:15:540847デフォルトの名無しさん
2006/01/09(月) 13:18:54リテラルは別なVMにはもってけないだろ
0848デフォルトの名無しさん
2006/01/09(月) 13:19:35根拠は「BeanShellで確認したから間違いない」だった。突っ込み入れる
気力も失せたね。
0849デフォルトの名無しさん
2006/01/09(月) 13:29:09道行くカップルの女のほうに、
「あ、ミキちゃん!久しぶり!
え〜と、彼氏?同伴?かっこいいね〜!
ってかミキちゃん最近店で見ないよね〜!!
また行くからヌイてよね!!ミキちゃんうまいから!!」
とまくし立てて逃げて、隠れて様子を見るのが好きなんだけど、
この前同じ事したら、女のほうが泣きそうになりながら、
「違うよ!人違いだよ!私そんな事してない!!」
とか喚くのね。普通は「?」って感じでスルーするヤツが多いんだけど、
この女ものすごいリアクションとるのよ。
ぎゃーぎゃー喚いて、違う!本当に違う!の連発。
マジで風俗女か前歴があるとしか思えないほどの焦りっぷり。
じゃ、彼氏のほうが、「もういいって」とか言って涼しい顔。
なーんだ、おもんねぇと思った瞬間。女殴った。
街中で。グーで。思いっきり振りかぶって、顔を。
女は鼻血ダラダラ流して、泣きながら男の後を追う。
「本当にじでないよ!ね”ぇ!!ゆうぢゃんだけだよぉ!!」
とか叫びながら。
もう一個のストレス発散方法は、ありえない議論をさもそうであるかのように熱弁し
有識者のみしか対応できないようにして「中途半端な知識をもったやつら」を排除しようと言う試み
どこまでわかっているのかを探る
0850デフォルトの名無しさん
2006/01/09(月) 13:29:120851デフォルトの名無しさん
2006/01/09(月) 13:30:140852デフォルトの名無しさん
2006/01/09(月) 13:32:53つ 和英辞書
0853デフォルトの名無しさん
2006/01/09(月) 13:33:32ドラゴンブック読んでコンパイラの仕組みを学んで
あなたがこれから中学で学習する英語の知識をそこに
当てはめればいいよ
0854デフォルトの名無しさん
2006/01/09(月) 13:34:040855デフォルトの名無しさん
2006/01/09(月) 13:50:31iTunesとかのaacを扱うのにいいライブラリってないでしょうか?
MEPG関係のライブラリでは扱えないですよね?
0856デフォルトの名無しさん
2006/01/09(月) 14:03:22ffのJava版
0857デフォルトの名無しさん
2006/01/09(月) 14:20:03www
お隣の不思議の国の黄教授が思い浮かんだ。
0858デフォルトの名無しさん
2006/01/09(月) 14:28:27自前
0859855
2006/01/09(月) 15:23:08ありがとう。
いまからいじってくるよノシ
0860デフォルトの名無しさん
2006/01/09(月) 15:43:39Pattern.compile("([^(]\d{2}:\d{2})",Pattern.CASE_....);
とやるとエスケープ文字が不正ですとかでるんですが
\dで1〜9の整数値になるんですよね?
0861デフォルトの名無しさん
2006/01/09(月) 15:53:17\(\d{2}:\d{2}\)
でよいとは思うが、Javaの場合
\\(\\d{2}:\\d{2}\\)
となるかな
0862デフォルトの名無しさん
2006/01/09(月) 16:14:47\\ですか、レスありがとうございます
0863デフォルトの名無しさん
2006/01/09(月) 16:43:53ほとぼりが冷めたころ、また
>だからさ、毎回そうなるとは限らないということを何度いったら・・・
でループするのか?
0864デフォルトの名無しさん
2006/01/09(月) 17:26:00OS WindowsXP
java j2sdk1.4.2
Tomcat Tomcat5.0.28
Tomcatをインストールしました。
startup.batを起動すると、
「'-Djava.endorsed.dirs=' が見つかりません。名前を正しく入力したかどうかを確認してから、やり直してください。」
というエラーが出ます。
yahooで検索したところ、似たような質問があったのですが、解決出来ませんでした。
わかる方いますか?
http://search.yahoo.co.jp/search?p=Tomcat+Djava.endorsed.dirs+%E3%81%8C%E8%A6%8B%E3%81%A4%E3%81%8B%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93&ei=UTF-8&pstart=1&dups=1
0865デフォルトの名無しさん
2006/01/09(月) 17:30:260866デフォルトの名無しさん
2006/01/09(月) 18:28:34appletの中でFilewhiterを動かそうとすると
Exception in thread "main" java.security.AccessControlException: access denied (
java.io.FilePermission c:\temp\hoge.txt write)
というエラーが発生するのですが、どうすれば動くようになるのでしょうか?
0867デフォルトの名無しさん
2006/01/09(月) 18:33:50あきらめて設計を見直しな
アプレットを使うのはネットワーク上の不特定多数ということで
自分の環境で動くようにしたとしても意味ないから
0868デフォルトの名無しさん
2006/01/09(月) 18:34:11知ってる上で使うのなら
Policyファイルでググれ
0869デフォルトの名無しさん
2006/01/09(月) 18:34:41署名する
0870デフォルトの名無しさん
2006/01/09(月) 21:08:27たしかに実装することによってそのメソッドを確実に使わなければならないっていう保証として
プログラミング時に便利なのかもしれませんが
そんなの仕様書にでも必ずそのメソッドを入れろって書いておけばすむような話の気がしますが
0871デフォルトの名無しさん
2006/01/09(月) 21:12:05あなたが利点が分かってくるのは大分先っぽい
いまはそんなもんだとおもっておいたほうがよさげ
0872デフォルトの名無しさん
2006/01/09(月) 21:17:52インターフェースは、オブジェクト指向厨のオナニーなので
あまり深く考える必要はないんだよ。
0873デフォルトの名無しさん
2006/01/09(月) 21:28:50インタフェースのメリット一つとして、
実装を差し替えられることを挙げておこう。
たとえば、以下のコードは便利だとは思わないか?
interface Executale { public void execute(); }
があったとして、
Executable exec = (Executable)Class.forName("HogeExec").newInstance();
exec.execute();
この"HogeExec"という文字列を外部ファイル化しておけば、
コードを再コンパイルせずに、実装を切り替えることができる。
ファクトリーやランチャー、デバッグモジュールなど
アイデア次第で使い道が広がるだろう?
0874デフォルトの名無しさん
2006/01/09(月) 21:32:08?
0875デフォルトの名無しさん
2006/01/09(月) 21:36:06インターフェースって何に使うかっていうとポリモーフィズム実現のために使うんだ
オブジェクト指向の要のうちの一つといってもいい
ポリモーフィズムってのは、同一のメッセージでもレシーバーによって振る舞いを
変えられるってことね
Smalltalkの様に型という概念がない場合は、すべてのオブジェクトに対して
任意のメッセージを送信できる。オブジェクトにメッセージに答えられるメソッドが
なければ実行時エラーになるけど
それに対して、Javaは型がある言語
0876デフォルトの名無しさん
2006/01/09(月) 21:37:02型がある言語では継承以外にポリモーフィズムを実現するための
手段だってことだ
0877デフォルトの名無しさん
2006/01/09(月) 21:37:39わるいわるい。
自明だったので、ちょっと説明が足りなかった。
public class HogeExec implements Executable {
public void execute() {
....
}
...
}
という実装があるってことね。
例えばこれを以下のクラスに変えることもできるってことだな。
public class Hoge2Exec implements Executable {
public void execute() {
....
}
...
}
0878デフォルトの名無しさん
2006/01/09(月) 21:44:16それって
Executableインターフェースがあってそこから
それぞれHogeExecクラス、HogeExec2クラスを見に行くって事?
0879デフォルトの名無しさん
2006/01/09(月) 21:48:01本来はメッセージパッシングは実行時に動的に処理されるが、
protocol(Javaでいうところのinterface)を導入している。
これはNeXTが確か分散オブジェクト機能の発展とともに
その必要性を考慮したからだと思った。
見知らぬ外部から送り込まれたオブジェクトが、
interfaceに合致しているかどうかということは
実行において重要だからね。
0880デフォルトの名無しさん
2006/01/09(月) 21:50:190881デフォルトの名無しさん
2006/01/09(月) 21:53:15newInstance()で作られたオブジェクトを
Executableでキャストして利用するってこと。
実装がどうなっていてもExecutableに適合していれば
使えるってこと。
EJBとかも基本はこんなような仕組みだよ。
0882デフォルトの名無しさん
2006/01/09(月) 22:08:30この手法は継承を使っても同じことができることに気がつくだろう。
共通の親クラスを継承していれば、親クラスにキャストできるからね。
ただ、以下の点は考慮に入れておいた方がいい。
1.継承は高価。
2.親クラスの仕様に依存する。
これらの点を考慮に入れても、
インタフェースでなく親クラスを使うことに価値がある場合もある。
継承なら、基本ロジックを親側に埋め込めるからね。
適所適所で適切に選択すればいい。
0883デフォルトの名無しさん
2006/01/09(月) 22:21:46>>875
ポリモーフィズムは抽象クラスでも実現できるよ。
実装の変更がさも便利みたいに言ってるが、実作業じゃメソッドの実装よりも
その定義自体を変更したくなるケースが多いんだよ。
つまり、どう作るかよりも(how)、何の作るか(what)の方が難しく重要なワケ。
しかし、インターフェースは作ったが最後、その後に動的にメソッド定義を
拡張する事が出来ないので全く無用の長物に成り下がってるんだよ。
例えば、デザパタの一つ、ブリッジ・パターンで実装(インプレメンター)と
動作定義(アブストラクター)をそれぞれ別個に拡張できて便利とか言ってるけど、
ここで一番重要なのは、基本となるアブストラクター(Javaでいうインターフェース)の
メソッド定義だ。その初めのメソッド定義に不都合があると後で修正できない為に
全然使えなくなってしまう。しかし、これを上手く定義するのは予知能力者でないと事実上ムリ。
結論からするとインターフェースというのは、実作業で起こる最もポピュラーな
問題をはぐらかしてるだけの無用の長物であり、オブジェクト指向厨の自己満足オナニーに
過ぎないと思う。
0884デフォルトの名無しさん
2006/01/09(月) 22:25:530885デフォルトの名無しさん
2006/01/09(月) 22:28:30あなたの場合、抽象クラスもインターフェースも
問題をはぐらかしているだけの無用の長物だと思う
そして、「インターフェースは自己満足オナニー」と
評価してオナニーしているにすぎない
0886デフォルトの名無しさん
2006/01/09(月) 22:31:55アナタの方がよっぽどオナニストだろう
0887デフォルトの名無しさん
2006/01/09(月) 22:35:02どのへんが?
0888デフォルトの名無しさん
2006/01/09(月) 22:44:44抽象クラスは動的にメソッド定義を拡張できるのか?
0889デフォルトの名無しさん
2006/01/09(月) 22:52:03インターフェイスってのは、ソフトウェア工学的に仕様定義が開発の初期段階として重要な位置を占めることがわかってきたから、それを言語レベルで実現するためのものでしょ。
「仕様定義なんて難しいからインターフェイスなんていらないやーい!」とか言っているように聞こえる。
0890デフォルトの名無しさん
2006/01/09(月) 22:59:21そこでDependency Injection(DI)の話を展開できれば
聞いてやったのに、、、
0891デフォルトの名無しさん
2006/01/09(月) 23:04:100892デフォルトの名無しさん
2006/01/09(月) 23:06:560893デフォルトの名無しさん
2006/01/09(月) 23:08:30参照おこなうときは、ワーキングメモリから、メインメモリにコピーされて参照され、
代入をおこなうときは、ワーキングメモリから、メインメモリにコピーされるとききました。
volatileとか、synchronizedでまもらないと、いつ、参照と、代入が、
メインメモリに対しておこなわれるかわからないともききました。
ということなのですが、以下のようなプログラムの場合、mapにputした値が消えたり、
putした値がみえなかったりするもんなのでしょうか。
import java.util.*;
class Runner implements Runnable {
private String key;private Map map;
public Runner(String key, Map map) {
this.key = key;this.map = map;
}
public void run() {
for (int i = 0; i < 1000; i++) {
String buf = key + i;
map.put(buf, buf);
}
}
public static void main(String[] args) {
Map map = new HashMap();
for (int i = 0; i < 1000; i++) {
new Thread(new Runner(String.valueOf(i), map)).start();
}
}
}
それ以前に、複数スレッドからスレッドセーフでないHashMapを守らずに利用するのが間違いとはおもいますが。
0894デフォルトの名無しさん
2006/01/09(月) 23:08:46あれって単体じゃどうしようもないものな
0895893
2006/01/09(月) 23:10:43参照おこなうときは、メインメモリから、ワーキングメモリにコピーされて参照され、
の間違いでした。
0896デフォルトの名無しさん
2006/01/09(月) 23:24:26良くは知らんが、そういう場合は例外があがると思うけどね。
まずいと分かってるなら、改善すれば良いと思う。
0897デフォルトの名無しさん
2006/01/10(火) 00:00:59どういった勉強したらいいでしょうか?
本とか探したんですけどなかなか見つからなくて。
良い本があったら紹介してください。
お願いします。
0898デフォルトの名無しさん
2006/01/10(火) 00:09:48実装の目的は何?
プロトコル解析?
Etherealじゃだめなの?
0899デフォルトの名無しさん
2006/01/10(火) 00:10:23この質問頻繁に見るけどなんだろ
0900デフォルトの名無しさん
2006/01/10(火) 00:16:53method.invokeを利用して取得したObjectの中にString[]が入っているのですが
これをString[]型の値として扱う方法を探しています。
現状ではmethod.getReturnType().isArray()を使用して配列を確認した後
中の配列数分のループを処理しようとしています。
どなたかお分かりになる方いらっしゃいませんか?
0902デフォルトの名無しさん
2006/01/10(火) 00:26:07少なくとも、本を見ながらでないと学習できない人にとっては効率悪い
>>900
String配列でキャストすればいいじゃん
0903デフォルトの名無しさん
2006/01/10(火) 00:27:39> 以下のようなプログラムの場合、mapにputした値が消えたり、
壊れやすさは HashMap の実装によって変わると思うけど、
それだと put しかしてないので基本的には壊れ難いと思うよ。
仮に put した値が消えても、別のスレッドでも重複した値を put してるから
消えてるのか調べるのも大変だし。
壊れるテストをしたいなら 片方のスレッドでは同じキーで put と get を繰り返し、
もう片方のスレッドでは clear だけを繰り返せば もっと簡単に壊せるよ。
0904デフォルトの名無しさん
2006/01/10(火) 00:29:43レスありがとうございます。
最初はそう思ったのですが実際にやってみると
InvalidTypeExceptionが発生してしまったのです。
String[] strs = ( String[] ) object;
※ object( String[2] )
0905デフォルトの名無しさん
2006/01/10(火) 00:30:12DOS窓でコンパイルして作ったクラスファイルを実行すると
「クラスファイルが見つからない」
と出ます。
以前に作ったクラスファイルさえも実行できません。もちろん以前と同じ手順です。
以前と変わった事といえば、
年が変わった
iTunesを入れた
だけです。
独学なので泣きそうな事態です。
よろしくお願いします。
0906デフォルトの名無しさん
2006/01/10(火) 00:32:42>iTunesを入れた
これをいれるとQuickTimeもいっしょにインストールされる。
すると、QuickTime for Javaもインストールされて、環境変数CLASSPATHが
書き換えられる。実際にはQTJava.jarはlib/ext/にインストールされるから
全く必要のない書き換えなんだけどなぜかAppleの糞インストーラはこれを行う。
というわけでCLASSPATHを見直すこと。
0907デフォルトの名無しさん
2006/01/10(火) 00:33:17あれ、だめなんだっけ?
元々のメソッドのシグニチャって何?
public Object foo();
とかだったりする?
0908デフォルトの名無しさん
2006/01/10(火) 00:33:59そうすればデフォルトでカレントディレクトリからクラスファイルを
検索してくれるから。
0909デフォルトの名無しさん
2006/01/10(火) 00:35:190911デフォルトの名無しさん
2006/01/10(火) 00:44:07遅レスだが、イメージとして
クラスをインスタンス化ではなく、実態のないインターフェースをインスタンス化させて
そのインターフェースがそれぞれ自分を実装している
クラスのメソッドを見に行くって感覚?
それだとどのクラスが自分(インターフェース)を実装してるのかってわかるの?
0912デフォルトの名無しさん
2006/01/10(火) 00:49:05object.getClass().toString() の結果と、
String[] array = (String[])object; したときの InvalidTypeException の FQN は?
キャストしなくても、一応 java.lang.reflect.Array.get(object, index) で配列の要素が、
Array.getLength(object) で配列の長さが取れるけどね。
0913デフォルトの名無しさん
2006/01/10(火) 00:55:22事実だから
本気で学びたい人はこんなところで悠長なことしてないよ
0914デフォルトの名無しさん
2006/01/10(火) 01:00:43>基本的には壊れ難いと思うよ
いや、やめた方がいい。
実装の処理を隅々まで眺めて
どのタイミングで割り込まれても大丈夫と判断しないかぎり、
何が起こるかわからない。
0915デフォルトの名無しさん
2006/01/10(火) 01:05:23よければメールで教えてくれるかたいませんか?スレ地外本当にすみません・・。
課題5と6はGroupServer.javaのみ変えればいいのでしょうか?
http://page.freett.com/kb100000/m.lzh
0916905
2006/01/10(火) 01:06:54>>908
>>909
本当にありがとうございます!
まさかQuicktimeがJavaの邪魔をするなんて、、、
PATHの見直しと、
C:\からの入力を癖にしたいと思います。
0917デフォルトの名無しさん
2006/01/10(火) 01:08:33c:\からの入力というより、-cp使ってクラスパス指定する癖ね
0919デフォルトの名無しさん
2006/01/10(火) 01:38:49(1)具象クラスでもポリモーフィズムは実現できる。
だから、インタフェースや抽象クラスは無用な長物である。
(2)クラスがなくたってプログラムは作れる。
だからオブジェクト指向言語は無用な長物である。
(3)プログラムがなくたって人間は生きていける。
だから、プログラムは無用な長物である。
(4)人間なんか居なくたって地球は太陽の周りを回り続ける。
だから、人間は無用な長物である。
0920デフォルトの名無しさん
2006/01/10(火) 01:41:21クラスがなくてもプログラムはできるね
クラスがなくてもオブジェクト指向は成り立つよ
0921915
2006/01/10(火) 02:04:23http://www.ipa.go.jp/security/awareness/vendor/programming/a03_03_main.html
見て、ほんの少しだけわかりそうな感じです。
どのファイルに変化を加えればいいか、教えていただけるとありがたいです。
GroupServer.javaとかMember.javaですか?
0922デフォルトの名無しさん
2006/01/10(火) 02:13:51宿題スレにでも池
0923915
2006/01/10(火) 02:30:50すみません、そうですよね、でも宿題スレ進行遅いので・・。
連投スマン。問5は、変えるのはGroupServer.javaだけかな?
グループからメンバーを離脱できるようにlist.remove(m)を付け加えればいいって
感じかな?
問6とか、もうわからん‥。答え聞いて覚えたい。明日同じ研究室の人に聞いてみることにします。。。
ほんとやばいんすよ俺。相当頭悪いし、5回レポート提出したんですが、受理は最初の2回だけで、残り3回は採点中・・。
課題無視してテキトーだったのもあるから当然っちゃ当然。
http://www.ipa.go.jp/security/awareness/vendor/programming/a03_03_main.htmlのサイトのようだと
まだ少し分かるんですが・・。あと1年くらいはこういうシステムの研究なのですが、
わかりやすく勉強できるのないですかね?俺、頭の悪い駄目人間なので同じ研究室の人に勇気もって
聞いてやるしかないですかね?なんか勉強しやすいサイトとかあったら是非教えて欲しい。
てか、答え聞いてから勉強するやりかたがいい。そっちのほうが明らかに効率的だし、そうじゃないと
俺バカだからできないから。説明不十分だし日本語もわけわかんない。これ必修だから落としたら
留年決定・・。これ落とさなければほぼいける。。自分で勉強してもわからないしさ、来るとこ間違えた。
てか、もう昔から駄目人間。マンツーマンでずっと教わりながらやりたい。研究室の人俺以外みんなできるから。
完ぺき主義者だから1個1個全ての説明が欲しい。無理だぁ。
0924915
2006/01/10(火) 02:34:40有料のサービスとかあるんすかね。そういうの使わなくちゃ駄目かもしんない、俺。
0925デフォルトの名無しさん
2006/01/10(火) 02:34:44課題無視してテキトーだったのもあるから当然っちゃ当然。
助ける義理はない上に、スレ違いを指摘されて(しかも適正なスレを教えてもらって)
まだ居座るとはいい度胸だな、オイ。勝手に課題落として死ねよ。
0926デフォルトの名無しさん
2006/01/10(火) 02:37:13とか、自分で考える気はいっさいありません。
ありがとうございました。
0927デフォルトの名無しさん
2006/01/10(火) 02:49:16留年ってなんのためにあると思う?
大学(高校)の面子を保つため
馬鹿をほいほいと進級させられるわけないだろ
0928915
2006/01/10(火) 02:51:33分かんないっていうか、ホントはだらけて自分でやってないだけですからね‥。
そんな俺も株の勉強し続けているんで、いつかはそっちの道で食っていきたいし、
例え退学・留年になってもいいかなぁって感じです(ならんけどね)
もっとこの駄目人間を叱ってください。
0929915
2006/01/10(火) 03:00:32友達曰く、一番難しい研究室とのこと。
他の普通の授業のテスト勉強などはみんなで過去門とか回して単位は結構取れているので、
あとはこの研究室さえとれればいける感じです。
まだ採点中のやつも、分かるところはちゃんとやったし、分からないところもネットからそれっぽいところを
持ってきたり、「終わりませんでした」って書いたり。(←これは、駄目だね)
まぁ、採点中のままなので再提出になったら頑張ってやります。
採点中なのにいきなりダメってことにはならんと思うから。以上、駄目人間でした。
0930デフォルトの名無しさん
2006/01/10(火) 03:02:35分かりません、教えてくださいと・・・
多分勉強不足だ!と言われるんだろうけど、今の時点で精一杯の努力を見せてみれば?
0931915
2006/01/10(火) 03:15:03ありがとう。優しいですね。でも自分の研究室そんなところじゃないんですよね。
先生もみんな優しいし。とりあえず、親が俺に月3万くらい負担させてきて精神的に駄目になってる部分もあるけど、
わがままな自分がだらけてる部分が多いです。不満ばかり感じたり。
とりあえず、1月乗り切れば、2月3月休みなので、そこである程度マジメに勉強やるしかないですね。
就活&株もやりたいですけど。来年は奨学金(月5〜10万くらい)もらう予定なので、それで少しは精神的に余裕が出るかもしれません。
まぁ全然追いつけないとは思いますけど、今日、明日くらいは徹夜でがんばってみますね。
(結構、健康主義者なので不健康なのは嫌いなんですけどね…;)
0932デフォルトの名無しさん
2006/01/10(火) 03:30:11いろいろ難癖つけて何もしない人間でしょ、あんた
0933デフォルトの名無しさん
2006/01/10(火) 03:32:05なきつくなら、1年のときから泣きつかないとw
漏れはそのオカゲで優ばかりだよw
0934デフォルトの名無しさん
2006/01/10(火) 06:03:510935デフォルトの名無しさん
2006/01/10(火) 06:08:23以下のような動作をさせたいです。
・現在ある画面が開かれている。
・その画面のあるボタンを押す
・入力チェックをし、エラーなので、画面のエラーメッセージ枠にエラーメッセージを表示させる。
ただし、エラーメッセージ以外はボタンを押す前と全く同じ状態にしておきたい。
「エラーメッセージ以外はボタンを押す前と全く同じ状態にする」という部分の実現方法で悩んでいます。
私の知識で思いつくのは、以下のいまいちなやり方だけです。
・前画面表示データをセッションに入れておく。
・前画面表示データを全部サーバーに送る(サーバーでは、リクエストデータを丸ごとレスポンスに写し、エラーメッセージだけレスポンスに追加する)
何かスマートな方法があったら教えてください。
大概のフレームワークを使うと、レスポンスセッターみたいなものがあって、
アクション前後で画面遷移がない場合、レスポンスに設定したデータのみ画面で上書かれてたんですが、
フレームワーク上でどうやってたか知らないもので。。。
0936デフォルトの名無しさん
2006/01/10(火) 06:18:31最初からBeanの内容を表示するようにしていれば表示も簡単
Jspはなし?
0937デフォルトの名無しさん
2006/01/10(火) 06:25:09jsp使用です。
jspにはjspと1対1のBeanを用意しています。
サーバ側のアクションクラスで、
エラーチェックに引っかかったときに、
bean.setErrMsg("エラーですよ");
とすると、エラー以外は空の画面が出てしまいます。
同様に、検索ボタン押下⇒結果表示のような場合も、
bean.setKekkaA("A");
bean.setKekkaB("B");
とすると、検索結果は表示されるが、検索条件入力が空になってしまう。
jspからサーバー側にBeanごとリクエストに渡す。
なんてことはできますか?
0938デフォルトの名無しさん
2006/01/10(火) 06:33:12value=で渡せばいいじゃん。
全く新規なら、「ここに名前を入れる」とかのデフォルト文字列を入れてHTMLを生成するとか。
JavaというよりHTMLのことだね。PG的発想でありがちな罠。
0939デフォルトの名無しさん
2006/01/10(火) 06:40:03>ボタンを押す前と全く同じ状態にするって、入力データの保持ってこと?
そういうことです。
>value=で渡せばいいじゃん
入力データを渡して、出力データに○○コピーするということでしょうか?
そうだとすると、こんなやり方にしようかと思うんですが、なんか変なところあったら是非指摘をいただきたいです。
・jspでは、フィールドは全てformで囲む。
・アクションクラスの引数はビーンとする。
・コントローラでは、リクエストのデータをビーンにマッピングし、アクションクラスに渡す。
・アクションクラスでは、上書きしたデータのみビーンに設定し、jspに渡す。
これ今日中にインターフェース提出しないといけないんですよ。。。
0940デフォルトの名無しさん
2006/01/10(火) 07:25:050941デフォルトの名無しさん
2006/01/10(火) 08:39:55前回質問したのは俺。
jpcapでぐぐると2種類のライブラリが見つかるけど、
片方はVMがクラッシュして使い物にならなくて、
もう片方はキャプチャ自体ができなかったから、
結局
http://www.microolap.com/products/network/tcpdump/
をRuntime#execで結果を解析して
IpPacketって言うクラスとそれを継承したTcpPacketとかのクラスを作って、
ヘッダ部分の値とか取れるようにしたけど、
tcpdumpの仕様でフラグメントしたデータのidentificationが一致しなかったり、
フラグメントオフセットが全部0だったりして、
完璧なものはできなかった・・・・
それ以外の部分ではうまくできたんだけどね
0942あぼーん
NGNG0943デフォルトの名無しさん
2006/01/10(火) 18:45:27ttp://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/util/Properties.html
javaのバージョンが5.0〜5.0_05では、問題無く動作する文字変換用プログラムを作成しました。
ところが、Javaのバージョンを5.0_06に変えた途端、
java.util.InvalidPropertiesFormatException: org.xml.sax.SAXParseException: URI was not reported to parser for entity [document]
java.util.InvalidPropertiesFormatException: org.xml.sax.SAXParseException: URI was not reported to parser for entity [document]
というエラーが出るようになり、propertiesファイルが読み込めなくなってしまいました。
5.0_05から5.0_06のバージョンアップで、XMLpropertiesの仕様変更などがあったのでしょうか?
ちなみに、loadFromXMLメソッドを使用して、XML形式のファイルを読み込むメソッドは次のようにしています。
private static Properties loadProperties(String filename){
Properties prop = new Properties();
try{
InputStream stream = new FileInputStream(filename);
prop.loadFromXML(stream);
stream.close();
} catch(Exception e){
System.out.println(e);
}
return prop;
}
また、propertiesファイルは次のような形式にしています。
<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<entry key="変換前1">変換後1</entry>
<entry key="変換前2">変換後2</entry>
</properties>
0944デフォルトの名無しさん
2006/01/10(火) 18:49:46今、Javaで、お絵かきソフトを作ってるんですが、
どうしても書いた画像を保存できません。
どうやって保存するのでしょうか?
教えてください。
0945デフォルトの名無しさん
2006/01/10(火) 19:08:510946デフォルトの名無しさん
2006/01/10(火) 19:16:16Exception in thread "main" java.lang.UnsatisfiedLinkError: no jusb in java.library.path
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
・・・・・のようなエラーが起きます。調べたら「Java 仮想マシンが、native と宣言されたメソッドの適切なネイティブ言語の定義を見つけることができない場合にスローされます。」
とあったので、これはもしかしてjar作成の際にnative型を間違ってなんらかに変更してしまったと考えていいのでしょうか?
それともライブラリパスに変更がいるのでしょうか。
まちがってたらすいません。
0947デフォルトの名無しさん
2006/01/10(火) 19:56:52それを使って、ファイル入出力処理で
保存しようとしましたが、できませんでした。
それで今度はピクセル情報を取得して
ビットマップ保存をしようとしているのですが
やりかたがわからないのです。
どうやればいいのでしょうか?
0948デフォルトの名無しさん
2006/01/10(火) 20:16:490949デフォルトの名無しさん
2006/01/10(火) 20:21:43が存在する場所に設定。
0950デフォルトの名無しさん
2006/01/10(火) 22:15:43x座標とy座標を入力して、(x,y)座標に
ドットを表示させて、
また座標を入力して、ドットをその座標に
移動させて・・・
の繰り返しってできますか?
0951デフォルトの名無しさん
2006/01/10(火) 22:22:260952デフォルトの名無しさん
2006/01/10(火) 22:25:270953950
2006/01/10(火) 22:44:42元の状態に戻さないと座標が
移動しないのですがどうすればよいでしょうか?
0954デフォルトの名無しさん
2006/01/10(火) 22:55:260955デフォルトの名無しさん
2006/01/10(火) 22:56:030956950
2006/01/10(火) 23:19:54なのですが一度見ていただけないでしょうか?
0957デフォルトの名無しさん
2006/01/10(火) 23:38:330958デフォルトの名無しさん
2006/01/10(火) 23:40:200959デフォルトの名無しさん
2006/01/10(火) 23:42:13この DrawingPanel は DrawingFrame に追加してないから、そもそも表示すらされてないから repaint かけても無駄なのに。
0960デフォルトの名無しさん
2006/01/10(火) 23:43:270961デフォルトの名無しさん
2006/01/10(火) 23:45:020962デフォルトの名無しさん
2006/01/11(水) 00:09:50KeyGeneratorで作った鍵を、一度Base64にしてから復号したものを戻して
もう一度SecretKeySpecで鍵にし、
cipher.init(Cipher.DECRYPT_MODE, key);
とやると、「Parameters missing」とエラーが出てしまいます。
Base64前と復号後は同じデータになっていますし、
鍵同士をequalsしても同じと出るので、鍵自体は正しいと思うのですが・・・。
ちなみに、暗号化モードはAES/CBC/PKCS5Paddingです。
0963950
2006/01/11(水) 00:19:35他にどうしていいかわかりませんorz
0964950
2006/01/11(水) 00:24:55こんなこともわからないなんて・・・
ホントにありがとうございました
でも書き方めちゃくちゃなんだろうなぁorz
0965デフォルトの名無しさん
2006/01/11(水) 00:30:44PBEParameterSpecを指定してないのでは?
0966デフォルトの名無しさん
2006/01/11(水) 00:31:01DrawingPanel、1枚無駄に追加してたりしてないか?
0967950
2006/01/11(水) 00:36:33共用するようにしました
0968デフォルトの名無しさん
2006/01/11(水) 00:37:24Integer.valueOf(reader.readLine()).intValue();
↓
Integer.parseInt(reader.readLine());
プロパティ(たとえば座標のx、y)は隠蔽し、
外部に対してはsetting methodを提供しましょう。
static int x, y;
↓
private int x;
private int y;
public void setX(int x) { this.x = x;}
public void setY(int y) { this.y = y;}
もしくは
setPoint(int x, int y) {
this.x = x;
this.y = y;
}
とかね
0969デフォルトの名無しさん
2006/01/11(水) 00:43:15モンテカルロ法の実装をやってるんだね
まずはpaintではなくてpaintComponentね
データをSystem.inから入力するのはあまりにも非現実的なので、
乱数による自動生成にした方がいいね
0971デフォルトの名無しさん
2006/01/11(水) 00:44:27x-1、y-1
これだけでは意味のわからない演算なので
メソッドにしてしまってもいいかもしれません。
0972デフォルトの名無しさん
2006/01/11(水) 00:47:53そうそう、最初はそれでいいと思うよ
いきなりよい設計なんて無理なんで、
リファクタリングして良いものにしていけば
いいんじゃないかな
そのうち身に付くよ
0973950
2006/01/11(水) 00:59:07少しずつですがわかってきた気がします^^
0974デフォルトの名無しさん
2006/01/11(水) 01:24:51「パスワードベースの暗号化」用とあるんですが、関係あるんでしょうか?
とりあえずやってみます。
0975デフォルトの名無しさん
2006/01/11(水) 01:43:20AlgorithmParameterSpecの実装クラスから
適切なのを選んで使ってみて
0976デフォルトの名無しさん
2006/01/11(水) 02:43:14設定してみたら通りました。ありがとうございました。
0977デフォルトの名無しさん
2006/01/11(水) 03:15:46画面からサーバに入力項目を送信する時に
<input type="text" name=... value=...>
とやるじゃないですか。
所謂入力フィールドでない部分を、送信する方法はありますか?
見た目は出力フィールドなんだけど、実は入力フィールドでもあるみたいな。
出力フィールドとして書いて、更にhiddenとして書く必要があるんでしょうか?
0978デフォルトの名無しさん
2006/01/11(水) 03:25:01送りたいものを自分で勝手に送ればいいんじゃないですか?
全然Java関係ないし。
0979デフォルトの名無しさん
2006/01/11(水) 03:37:39要はテキストフィールドの値はサーバーに送信できたんですが、
表の中身とか普通のテキストがサーバーに送信できません。
どうしたらいいですか?
ということです。
すいません。
0980デフォルトの名無しさん
2006/01/11(水) 09:15:330981デフォルトの名無しさん
2006/01/11(水) 10:20:14GUIを作るのが面倒なのでIDEを導入したいと思っています。
GUIを編集するのにオススメのIDEを教えていただけないでしょうか?
できれば日本語対応のもので。
0982デフォルトの名無しさん
2006/01/11(水) 10:35:51Eclipse+VisualEditor
【Java/C/PHP/D/他】統合開発環境Eclipse M19
http://pc8.2ch.net/test/read.cgi/tech/1131604081/1-3
0983デフォルトの名無しさん
2006/01/11(水) 10:51:14netBeans
【Java】NetBeans【Sun】
http://pc8.2ch.net/test/read.cgi/tech/1132079321/
0984デフォルトの名無しさん
2006/01/11(水) 10:51:230985デフォルトの名無しさん
2006/01/11(水) 11:00:33ttp://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/util/Properties.html
ようやく、エラーもなく、問題無く動作する物が完成しました。(jdk 1.5.0_05)
しかし、Javaのバージョンを5.0_06に変えた途端、
java.util.InvalidPropertiesFormatException: org.xml.sax.SAXParseException: URI was not reported to parser for entity [document]
java.util.InvalidPropertiesFormatException: org.xml.sax.SAXParseException: URI was not reported to parser for entity [document]
というエラーが出るようになり、propertiesファイルが読み込めなくなってしまいました。 なぜですか?
ちなみに、propertiesファイルは次のような形式にしています。
<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<entry key="変換前">変換後</entry>
</properties>
0986デフォルトの名無しさん
2006/01/11(水) 11:21:210987デフォルトの名無しさん
2006/01/11(水) 11:35:14Charset utf8 = new Charset("UTF-8");
new OutputStreamWriter(in, utf8);
0988デフォルトの名無しさん
2006/01/11(水) 13:10:05JAVAでそれらの固有情報を取得する方法があったら教えてください。
ログイン処理に使いたいです。
0989デフォルトの名無しさん
2006/01/11(水) 13:15:37HttpServletRequest#getHeaderNames()
でリスト取得すれば良いじゃん
0990デフォルトの名無しさん
2006/01/11(水) 14:19:41double[] a = (double[])l.toArray( new double[0] );
としても、toArrayは引数double[]に適用できませんと言われます
引数無しだとObject[]をdouble[]にキャストできないと言われますし
今までは仕方なくforで回して要素一個ずつ代入していました
0991デフォルトの名無しさん
2006/01/11(水) 14:23:26doubleはクラスじゃないからl.toArray( new double[0] )はできんよ
0992デフォルトの名無しさん
2006/01/11(水) 14:42:05丸ごと変換するような方法は提供されてないんですかね?
いちいちforで回して一個ずつ代入するのもなんだかなぁって感じなんですが
0993デフォルトの名無しさん
2006/01/11(水) 14:47:57Commons-primitivesを使ったらどうかね?
0994デフォルトの名無しさん
2006/01/11(水) 15:23:45【初心者】Java質問・相談スレッド79【大歓迎】
http://pc8.2ch.net/test/read.cgi/tech/1136960593/
0995985
2006/01/11(水) 15:31:55拡張子を .properties から .xml にすることで、jdk1.5.0_06でも動作するようになりました。
>>986-987
ありがとうございました。
0996995
2006/01/11(水) 16:19:07Windowsでは>>995のやり方で正常に動作するようになりましたが、
Linuxではやはりダメでした。
エラーは出ないもののxmlファイルが認識されません。
0997デフォルトの名無しさん
2006/01/11(水) 18:12:020998デフォルトの名無しさん
2006/01/11(水) 18:12:530999デフォルトの名無しさん
2006/01/11(水) 18:13:221000デフォルトの名無しさん
2006/01/11(水) 18:14:0710011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。