1 名前:デフォルトの名無しさん [2007/06/27(水) 07:23:27 ] プログラミング言語Javaに関する質問スレです。 JavaScript, Ajaxの質問は、ここでは受け付けていません。 Web製作板をご利用ください。pc10.2ch.net/hp/ 過去ログ、関連スレッド、よくある質問とその回答など、 質問をする前に、貴方が見なければならないサイトについての情報は、 下のwikiのページにまとめてあります。 www.wikiroom.com/java/ これからJavaでプログラミングを始めたいが、何をすればいいかわからない人も、 wikiからのリンクをおたどりください。 よくある質問 ・「コマンドまたはファイル名が違います」 「'javac' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」 「Exception in thread "main" java.lang.NoClassDefFoundError: 」 www.wikiroom.com/java/?path,classpath ・String に == は使うな。equals() を使え。 ・「\12288 は不正な文字です。」 文字リテラル以外で全角スペースは使えません。半角スペースに。 ・その他の質問→「APIのjavadoc見ろ」 前スレッド 【初心者】Java質問・相談スレッド102【大歓迎】 pc11.2ch.net/test/read.cgi/tech/1180419689/ /* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。 質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */ また、当スレで質問をするかたは、回答をもらえたときに、 wikiの更新をして頂ければ、忝なく存じます。 次スレは>>980 あたりで。
2 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 10:29:50 ] C言語で int hoge = 100; char buf[256]; memcpy(&buf[10], hoge, sizeof(hoge)); という処理をJavaで行うにはどのようなコードになりますでしょうか?
3 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 10:57:21 ] >>2 char hoge = 100; char[] buf = new char[256]; Arrays.fill(buf, hoge);
4 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 11:38:26 ] >>3 嘘はいけないぞw >>2 そのような処理は行えない。 char[] hoge = new char[256]; char[] buf = new char[256]; Arrays.fill(buf, hoge); または、 System.arraycopyを使う
5 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 12:49:54 ] バイナリーデータをintに入れたり出したりって Javaだと難しいのでしょうか?
6 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 12:57:13 ] int は4バイトなので それ以上のデータを入れる場合は高度な圧縮技術が必要であろう
7 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 12:57:37 ] >>5 4バイトまでだったらシフトやマスクしてふつーにできますよ。
8 名前:デフォルトの名無しさん [2007/06/27(水) 13:00:57 ] int hoge = 100; char buf[256]; memcpy(&buf[10], hoge, sizeof(hoge)); コンパイルエラーです 本当にありがとうございました
9 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 13:01:17 ] byte配列のことか?
10 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 13:08:36 ] >>5 import java.io.*; public class TestBinary{ public static void main(String[] args){ try{ int i = 100; BufferedWriter bw = new BufferedWriter( new OutputStreamWriter( new FileOutputStream("a.bin", true) ) ); bw.write(i); bw.close(); }catch(Exception e){ e.printStackTrace(); } } }
11 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 13:11:17 ] InputStreamReader isr = new InputStreamReader( new FileInputStream("a.bin") ); int j; j = isr.read(); System.out.println(Integer.toString(j)); isr.close();
12 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 13:18:29 ] >>7 はい。計算すればできるってのはわかってました。 後だしですみません。 ただ、もうちょっと普通にできるのではないかと思ったので。 >>10 ファイルを使うっすか? これのメモリー版ってないっすか?
13 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 13:21:04 ] >>8 ごめんなさい。 memcpy(&buf[10], &hoge, sizeof(hoge)); でお願いします。
14 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 13:23:33 ] >>12 ここまで出たんだからJavaDocでも調べろよ InputStream系のクラスを組みあせればできるだろう
15 名前:デフォルトの名無しさん [2007/06/27(水) 13:24:22 ] getByte()
16 名前:デフォルトの名無しさん [2007/06/27(水) 13:28:56 ] sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/api/java/nio/channels/FileChannel.html sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/api/java/nio/MappedByteBuffer.html sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/api/java/nio/ByteBuffer.html
17 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 13:31:04 ] >>16 これだ!(・∀・)イイ!!
18 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 13:47:28 ] import java.io.FileInputStream; import java.nio.ByteBuffer; import java.nio.channels.FileChannel; public class GetBytesTest{ public static void main(String[] args) throws Exception{ FileInputStream inStream = new FileInputStream(”filename”); FileChannel channel = inStream.getChannel(); ByteBuffer buffer = ByteBuffer.allocate((int)channel.size()); channel.read(buffer); buffer.clear(); byte[] bytes = new byte[buffer.capacity()]; buffer.get(bytes); channel.close(); } }
19 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 13:48:17 ] www.itarchitect.jp/beginners/-/46269-1.html www.itarchitect.jp/beginners/-/46269-2.html www.itarchitect.jp/beginners/-/46269-3.html www.itarchitect.jp/beginners/-/46269-4.html www.itarchitect.jp/beginners/-/46269-5.html www.itarchitect.jp/beginners/-/46269-6.html
20 名前:デフォルトの名無しさん [2007/06/27(水) 14:58:12 ] Servlet から AWT を使うことってできる? 使うときに注意しなければいけないことってあるかな? Toolkit.getDefaultToolkit(); を呼び出すと、AWT のスレッドが生成されるそうですけど、 Servlet から何度も呼び出しても、AWT スレッドは1つしか生成されないのかな。
21 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 15:18:35 ] >>20 鯖でGUI開くの?w 蔵のGUIとしてAWTにしたいってならば全く別の話
22 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 15:31:26 ] 一応開くことは開くだろ クライアントからアクセスあるたびにポップアップしまくるから セッション終了したら閉じるように作っておくことが とりあえず気をつけることかな
23 名前:デフォルトの名無しさん [2007/06/27(水) 16:21:01 ] ポップアップするのはクライアント側で?それともサーバ側で?
24 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 16:30:38 ] サーバ側で
25 名前:デフォルトの名無しさん [2007/06/27(水) 16:46:37 ] てことは クライアント側からサーバサイドのGUIをつかえると言うわけではないの?
26 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 16:59:10 ] >>25 ん? 使えるが結果を見られないってことでは?
27 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 17:12:23 ] headlessモードについての話じゃない??
28 名前:デフォルトの名無しさん [2007/06/27(水) 17:54:11 ] 結果を見られないってどういうこと? クライアント側でGUIは表示されるけど、イベントは受付けないとか? apptet以外にクライアント側でGUI表示できるの知らなかったんで 詳しくお願いします。
29 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 17:56:54 ] >>28 > apptet以外にクライアント側でGUI表示できる そんなこと誰も書いてないと思うが。
30 名前:デフォルトの名無しさん [2007/06/27(水) 18:04:41 ] そういうことじゃないの?
31 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 18:18:26 ] というか、>>20 早く帰ってきて収拾してくれwww
32 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 18:32:38 ] ていうか誰が誰だよw idない板はこれだからややこしい
33 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 19:26:06 ] servletがクライアントに渡すのは基本的にはHTMLや画像なんだから、ク ライアントにAWTのウィンドウ等が表示されるわけないでしょ。どこで JVMが動いているか考えればあたりまえ。 servletでAWTのウィンドウを出したりすると、とうぜんservletが動いて いるサーバの画面にウィンドウが出ることになる。そんなことして意味 があることはまずないが、できないわけじゃない。(>>22 ) 画像処理などのためにservlet内でAWTを使うことがある。そういうとき のために headless モードというのがある。(>>27 )
34 名前:デフォルトの名無しさん [2007/06/27(水) 19:32:52 ] 今までphp+mysqlでやってたものですが、 jdbc+postgreSQLに手を出してみました。 php+mysqlのときみたいにaddslashをして エスケープをしたいのですが、どうやったらいいかわかりません(涙) java.sqlの中にはそういうものはないみたいだし・・・
35 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 19:48:52 ] 涙を出す前にJDBCについて調べる気は無かったのだろうか?
36 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 19:53:47 ] なんでheadlessっていうの? brainlessの印象を受けるからfacelessの方が良かった
37 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 21:10:26 ] >>28 GWT
38 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 22:55:55 ] >>34 PreparedStatementが勝手にやってくれる
39 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 23:32:07 ] LGPLが適用されているライブラリを利用する場合、 作成したプログラムの再配布の際にはソースコードの公開が必要でしょうか? 「動的なリンク、であれば利用元のプログラムはLGPLの呪縛から逃れられる」 というような解釈のようですが、動的なリンクとはJavaではどこまで該当するのでしょうか?
40 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 23:38:12 ] ソースコードを使うかバイナリを使うかじゃない?
41 名前:デフォルトの名無しさん [2007/06/28(木) 00:11:12 ] 入力した値が文字(列)か数か判定したのですが、どのような条件で判定できますか?
42 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 01:23:29 ] 文字列.matches("\\d+")か文字列.matches("\\d*")
43 名前:デフォルトの名無しさん [2007/06/28(木) 03:26:37 ] 未だなにも調べてない状態なのですが java3Dの中のvecmathパッケージについて このパッケージでできるベクトル計算の利点はどんなところにあるんでしょうか また、java3Dの直近の日本語Documentを探しているのですが見つからず、 できたらURLを教えていただけないでしょうか
44 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 06:40:37 ] >>42 「.」とか「-」とかは?
45 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 08:34:54 ] Javaでゲーム開発を考えているんですが、思考ルーチン関連での入門書で最適な本ってありませんか? ゲーム理論系を探すと経済学関連のが多くて選択しにくいもので、実際のプログラム例などが載っている本がいいです。 言語はJavaが得意ですが、Cなども最低限の知識はあります。
46 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 08:39:51 ] >>45 ゲームという大きな括りではなく、どういう種類のゲームを作るかによって 学ぶものは変わってくると思うが。
47 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 08:44:00 ] >>46 確かにそうですね。 やりたい種類は、ターン制のストラテジーゲームです。 手札などに制限が多く、打てる手数は高々10〜20程度。 ただし、先読みの要素が多いという感じです。 ぐぐってみたりするとげミニマックス法とか色々でてくるのですが、本として1冊は欲しいもので
48 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 08:57:05 ] >>40 ありがとうございます 単純に実行部分のバイトコードを添付するだけでいいわけですか ↓の部分が適用されるってことですか? >もし著作物が『ライブラリ』とリ ンクされた実行形式ならば、著作物を完全かつ機械読み取り可能な >「『ラ イブラリ』を利用する著作物」のオブジェクトコードあるいはソースコー ド(どちらかでも可) と一緒にし、 >ユーザが『ライブラリ』を改変した後 に再リンクして、改変された『ライブラリ』を含む改変された実行形式を >作成できるようにする
49 名前:デフォルトの名無しさん [2007/06/28(木) 11:16:54 ] postgresqlに接続しようとしてるんだけど org.postgresql.util.PSQLException: The connection attempt failed. Caused by: java.net.UnknownHostException: localhost こんなエラーがでて接続できないんだけど、 これってJDBCドライバ自体は認識できてるんかな? ずっと「JDBCドライバがないYO」って言われてたんで、そこが気になる。 誰か教えてくれー
50 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 11:53:45 ] >>49 いえす localhost が解らんって言われているけど、postgresqlならば jdbc:postgresql://localhost:5432/test のようにURL指定してないとか? それでもダメなら、localhost を 127.0.0.1 で試す。 後、WindowsのFireWallの可能性もあるかな?
51 名前:49 mailto:sage [2007/06/28(木) 13:37:37 ] >>50 レスありがとう。 なんとか動きました。 postgresqlにTCP接続する設定をやっていなかった。 // これがダメだったのかな? postgresql.confを編集して URL指定に「jdbc:postgresql://127.0.0.1:5432/hoge」で接続できました。 loclhostだと失敗したんで根本的な解決はしてない気もするけど、とりあえず動いたからおk!!!
52 名前:34 mailto:sage [2007/06/28(木) 13:52:52 ] >>38 ありがとうございます。 さっそく実行してみたのですが、次は org.postgresql.util.PSQLException: The column index is out of range: 2, number of columns: 1. と表示されてしまいます。 ?の数とsetStringやsetIntの数が違うのかなと思ったのですが、 一緒でわかりません・・・
53 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 14:02:01 ] >>45 「15歳からはじめる〜」って本を良く耳にする。でも読んだ事はない。 Javaでゲーム作成 2本目 pc11.2ch.net/test/read.cgi/gamedev/1130373830/
54 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 14:25:08 ] >>52 配列の要素数が0で始まるのか1で始まるのかをもういちど確認してくれ
55 名前:デフォルトの名無しさん [2007/06/28(木) 14:34:25 ] 現在の実行コンテキストが Applet として実行されているかどうかを判定することってできる?
56 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 14:44:03 ] getCodeBase()
57 名前:デフォルトの名無しさん [2007/06/28(木) 15:10:44 ] Eclipse使ってたら・・・ PreparedStatement のメソッド setDate(int, Date) は引数 (int, Date) に適用できません。 どういうことだよorz
58 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 15:15:27 ] 要するに setDate(int, java.sql.Date) は引数 (int, java.lang.Date) に適用できません。 ってことだ。エラーメッセージが悪い。
59 名前:デフォルトの名無しさん [2007/06/28(木) 15:44:17 ] サーブレットから別のデーモン スレッドを実行した場合、 そのスレッドを長時間実行してもタイムアウトになることはありませんよね?
60 名前:45 mailto:sage [2007/06/28(木) 15:47:26 ] >>53 それは既に読了です。 いい本ですが、あくまでSwing関連のJavaの入門書でした
61 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 18:35:06 ] >>60 まぁ、>>47 みてやりたいことは大体判った。 結局のところ探索、評価の繰り返しをいかに精確かつ高速にやるか、というところが肝なわけで… まともにやろうとすると結構専門的なところまで踏み込むことになるけれども一応参考資料(英語ですが) ttp://www.cs.ualberta.ca/~mburo/publications.html もともとはリバーシのアルゴリズム解説だけれど、探索や評価のアルゴリズムは他にも応用がききそうなので。 日本語の資料だとつっこんだところまで解説したものってみたことないので情報工学とか数学関係の専門書を あたった方が早いかもです。
62 名前:デフォルトの名無しさん [2007/06/28(木) 19:28:14 ] >>60 ボーンデジタル
63 名前:45 mailto:sage [2007/06/28(木) 20:45:50 ] >>61 やはり専門的な分野になると英語になるのかぁ・・・ 最初の1〜2冊は日本語で勉強したかったんです。 Amazonで漁っていくつか候補があったのでとりあえず片っ端から買ってみますw
64 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 20:51:31 ] >>62 これですか・・・ ttp://www.amazon.co.jp/Game-Programming-Gems-Mark-DeLoura/dp/4939007286/ref=pd_sim_b_1_img/249-4142550-3954713?ie=UTF8&qid=1183031211&sr=8-11 流石にいい値段しますが興味はあります・・・むぅ
65 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 22:39:12 ] HttpURLConnectionで取得したデータ(画像)のnputStreamを 複数回読みたいんですが、どうしたらいいですか?
66 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 22:55:51 ] >>65 できない InputStreamのStreamの意味を調べたことあるか? 尚、普通の人は画像データを変数に格納するだろう
67 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 22:58:41 ] >>65 一回closeしてしまったら、もう読み込めないから、もう一回接続して新しいInputStreamで読み込む。 もしくは、最初のInputStreamで読んだデータは手元にあるはずだから、それを利用する。
68 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 23:02:55 ] >>66 > InputStreamのStreamの意味を調べたことあるか? あります、すみません resetメソッドとかよくわからずに使ってうまくいかなかったもので… > 尚、普通の人は画像データを変数に格納するだろう InputStreamが引数なメソッドを2つ呼び出す必要があるんですが、 やっぱそのたびに生成しなきゃいけないんでしょうか。 ↑これがよくわからんかったのでリサイクルしたいと思いました。 >>67 接続は1回にしたいです。
69 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 23:05:13 ] ああ、closeしてなくても一回読み出したデータをもう一回読み出すのはInputStreamでは無理だから、 頭からもう一度とはいかない。全データのプッシュバックをサポートするstreamを作って、 HttpURLConnectionのInputStreamに接げばいけるかもだが、 それは最初に読んだデータを再利用するようにした方がいいような気が。
70 名前:66 mailto:sage [2007/06/28(木) 23:11:05 ] >>68 言い方がきつかった、すまん ただ、Streamってのは流れなんだ、流れてくるものを2回読むことはできない だからデータを溜めておかなければならない。 ちなみに、使うメソッドがInputStreamで引数を持つという事自体がおかしいということはないか? Imageで受けたり、byte[]で受けたり出来ないような特殊な事情があるのか、検討して欲しい。 それでも、どうしてもInputStreamにしなければならないならば、byte[]等でキャッシュしておき、自前で再度流すようにコーディングする必要があるな
71 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 23:11:30 ] >>68 InputStreamのサブクラスにはByteArrayInputStreamというものもある。 何もネットから読み込むだけのストリームではない。 最初にそのメソッドを呼ぶ前にHttpURLConnectionでバイト配列にデータを読んで、 そのメソッドにはバイト配列をバッファにしたByteArrayInputStreamを渡してやればいい。
72 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 23:31:38 ] >>70 最終的にはswtのImageを作るんですが、 その前に元のデータのハッシュを取る必要があるんです。 最初はImageを作って それからgetImageData().dataのハッシュを 取ればいいかと思ってたんですが、dataってビットマップ(広義)と知って… >>71 そうですね、 一旦bete[]にバッファしてそれぞれByteArrayInputStream作ることにします。 ご協力ありがとうございました。
73 名前:57 [2007/06/29(金) 00:12:38 ] >>58 ありがとう やっと意味がわかったよ
74 名前:デフォルトの名無しさん mailto:sage [2007/06/29(金) 00:22:36 ] >>72 そういうのってNIOでやるんじゃない?
75 名前:デフォルトの名無しさん mailto:sage [2007/06/29(金) 00:29:41 ] >>72 DigestInputStream
76 名前:デフォルトの名無しさん [2007/06/29(金) 00:51:14 ] Javaを使って遠隔機械操作をしたいんですが関連するパッケージを 教えてください。 RMIとかなんでしょうか
77 名前:デフォルトの名無しさん mailto:sage [2007/06/29(金) 00:54:31 ] >>76 遠隔機器操作だけじゃわからん。どういう事をやりたいか具体的に書く。
78 名前:デフォルトの名無しさん [2007/06/29(金) 01:05:56 ] サーボモーターの制御及び遠隔監視ですが、被制御側にJAVAとCのプログラムを配する予定です。 知りたいのは、ネットワークのストリームの確立方法と制御命令の伝達方法、及び監視情報のリアルタイム での送受信方法です。
79 名前:デフォルトの名無しさん [2007/06/29(金) 01:10:10 ] 78の補足 回線は優先無線の両方を考えてますが、とりあえず有線の方法、通常のインターネット経由の方法で 教えていただけたらと思います。
80 名前:デフォルトの名無しさん mailto:sage [2007/06/29(金) 01:17:50 ] Cも使うのならベタにSocket使えばいいんじゃね。
81 名前:デフォルトの名無しさん mailto:sage [2007/06/29(金) 01:20:20 ] Set<Foo> set = new HashSet<Foo>(); for(Foo f: set) { // ここで set を変更 } で ConcurrentModificationException が出るときの解決案って for(Foo f: set.toArray(new Foo[set.size()])) { // ここで set を変更 } 以外にどのようなものがありますか?
82 名前:デフォルトの名無しさん mailto:sage [2007/06/29(金) 01:43:20 ] なんか1.5ぐらいからJavaの文法、複雑になっちゃったな >>81 とか俺には理解できない・・・
83 名前:81 mailto:sage [2007/06/29(金) 02:14:21 ] >>82 大丈夫。Java7 あたりから俺もわからなくなる。
84 名前:デフォルトの名無しさん mailto:sage [2007/06/29(金) 02:26:47 ] やさしいjavaで勉強初めて一週間程たちます。 色々調べたのですがわからなかったので、初歩的な質問ですが教えてください。 class Car { int n; } とした時に Car car[ ] = new Car[3]; のような配列ぽい変数にできるのでしょうか? 今試しているのですがエラーになります。 コンストラクタを使ってオブジェクトを作る時は配列は使用できないのでしょうか? 先のページには出来ている様なコードが書いてあるのですが、抽象クラスでないとダメなんでしょうか?
85 名前:デフォルトの名無しさん [2007/06/29(金) 02:27:12 ] >>80 失礼Cはマイコン用のCで低レベルの制御用にのみ使うものです、通信そのもは複雑なネットワークに も対応できるようにJAVAを使おうと思っています。
86 名前:デフォルトの名無しさん [2007/06/29(金) 02:29:50 ] >>84 配列要素それぞれをnew Car()で生成する必要があります Vector使ったほうが簡単では?
87 名前:デフォルトの名無しさん mailto:sage [2007/06/29(金) 02:31:17 ] >>84 エラーの種類がわからないから断定は出来ないけど、 おそらく発生しているエラーは NullPointerException だと思う。 Car[] car = new Car[3]; for (int i = 0; i < car.length; i++) car[i] = new Car();
88 名前:デフォルトの名無しさん mailto:sage [2007/06/29(金) 02:34:24 ] >>86 >>87 なるほど!! まずは配列要素それぞれで生成するわけですね。 早速試してみます。
89 名前:88 mailto:sage [2007/06/29(金) 02:42:00 ] >>87 さんのコードを書き加えたら出来ました! ありがとうございました!
90 名前:デフォルトの名無しさん mailto:sage [2007/06/29(金) 03:11:34 ] Javaアプレット(ファイル名:abc.jar)でOKボタンを押したときのイベントで、Javaアプレット自身を再起動させるプログラムを書きましたが、時々動作しなかったりしています。 OKボタンを押したときのイベントの中にRuntime.exec()で2つのシェルスクリプトを実行するプログラムを書きましたが、 1つ目のJavaアプレットのプロセスをkill するスクリプトは常に動作しますが、2つ目のJavaアプレットを起動するスクリプトが動作したり、動作しなかったりしています。 ・1つ目 stop.sh:(abc.jarのプロセスをkill するスクリプト) ・2つ目 start.sh:java -jar abc.jar String[] cmd= {"stop.sh", "start.sh"}; Runtime.getRuntime().exec(cmd) でcmdにスクリプトを渡すようにしています。 この書き方はだめなのでしょうか? ソースは手元にありません。すみません。 よろしくお願いします。
91 名前:デフォルトの名無しさん mailto:sage [2007/06/29(金) 03:22:45 ] アプレットから Runtime.exec ですか。実に危険だな。
92 名前:デフォルトの名無しさん mailto:sage [2007/06/29(金) 03:35:31 ] >>90 2つ目動作することある? Runtime#exec(String[]) の2つ目以降の要素は1つ目の要素の引数ではないか?
93 名前:90 mailto:sage [2007/06/29(金) 03:47:39 ] すみません。間違えていたと思います。 >String[] cmd= {"stop.sh", "start.sh"}; >Runtime.getRuntime().exec(cmd) String cmd[] = new String[2]; cmd[0]="stop.sh" cmd[1]="start.sh" Runtime.getRuntime().exec(cmd[0]) Runtime.getRuntime().exec(cmd[1])
94 名前:デフォルトの名無しさん mailto:sage [2007/06/29(金) 04:39:48 ] >>85 組み込み用Cしか動かないような環境でJava動くの?
95 名前:デフォルトの名無しさん mailto:sage [2007/06/29(金) 04:43:53 ] >>90 どうせネタだろうけど Runtime.getRuntime().exec(cmd[1]); Runtime.getRuntime().exec(cmd[0]); これでいいよ
96 名前:デフォルトの名無しさん mailto:sage [2007/06/29(金) 06:48:01 ] >>81 setの変更がremoveのみなら、こういう手も。 for(Iterator<Foo> iter = set.iterator(); iter.hasNext();){ Foo f = iter.next(); if(...){ iter.remove(); } } せっかくの enhanced for loop が使えないのはもったいないけど。
97 名前:デフォルトの名無しさん mailto:sage [2007/06/29(金) 07:45:23 ] >>81 こんな感じにする Set<Foo> set = new HashSet<Foo>(); Set<Foo> temp = new HashSet<Foo>(set); // 丸々コピー for(Foo f: set) { // ここで temp を変更 } set.clear(); // 一度、空にしてから set.addAll(temp); // 全部詰めなおす 参照の問題が起きないのであれば、2行を、set = temp;としてもいいけど、 このメソッドでSetを生成して返すのでもなければ、clear addAll のコンボのがいいと思う。 もし、他のスレッドからsetの更新の可能性があるならば、同期も取ろう
98 名前:デフォルトの名無しさん [2007/06/29(金) 15:40:33 ] URLConectionでリクエスト送信→レスポンス受信な処理をやろうとしてるんですが、 ループ内でリクエスト送信後、レスポンス受信の前に次のリクエストを送る事ってできないんでしょうか? レスポンスを待たずにリクエストを送りたいと思っています。 こういうのはthreadを使うべきなんでしょうか?
99 名前:デフォルトの名無しさん mailto:sage [2007/06/29(金) 17:11:46 ] threadを使うべき
100 名前:デフォルトの名無しさん mailto:sage [2007/06/29(金) 17:53:15 ] 国際化対応って最後にまとめてやったほうが効率いいですか?