1 名前:デフォルトの名無しさん [2007/03/31(土) 13:57:18 ] 過去ログ、関連スレッド、よくある質問とその回答、 質問をする前に、貴方が見なければならないサイトについての情報は、 下の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質問・相談スレッド99【大歓迎】 pc11.2ch.net/test/read.cgi/tech/1173026128/ /* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。 質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */ また、当スレで質問をするかたは、回答をもらえたときに、 wikiの更新をして頂ければ、忝なく存じます。 JavaScript, Ajaxの質問は、ここでは受け付けていません。 Web製作板をご利用ください。pc10.2ch.net/hp/ 次スレは>>980 あたりで。
266 名前:251 mailto:sage [2007/04/06(金) 18:55:09 ] >>263 >>265 おかしなネーミングで申し訳ないですorz とりあえずやりたかった動作が確認できました。ありがとうございました。 完全に置き換えずにその時々で変換してやる必要があるってことですね。
267 名前:243 mailto:sage [2007/04/06(金) 21:50:01 ] >>246-247 今帰ってきました ありがとうございます これから読んで,頑張ろうと思います
268 名前:デフォルトの名無しさん [2007/04/07(土) 08:48:29 ] AXISのTCPMonitorを使用して外部インターネット(HTTP)との通信内容を調べたいのですが可能でしょうか? ローカルマシンのwebアプリとの通信内容は見れたのですが。
269 名前:Java ◆KbC0ODWrJ2 [2007/04/07(土) 09:38:18 ] 可能
270 名前:デフォルトの名無しさん [2007/04/07(土) 10:51:46 ] >>269 具体的にはListenPort,TragetHost,TargetPortをどのように設定したらよいでしょうか。
271 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 11:51:50 ] リクエスト送った時と送らない時で netstat -aの差分とってみりゃいいじゃん
272 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 15:59:03 ] pattern、Matcherクラスの勉強してるときにある本の中にこういうコードがあったんですが Pattern p = Pattern.compile("[a-z]");//正規表現をPatternクラスのオブジェクトにコンパイル Matcher m = p.matches("aaaaaaaa");//指定されたパターンと、マッチング対象の入力テキストとが含まれることになるMatcherオブジェクトを作成する この2行目のメソッド名はmatcherと間違ってるように思うんですがどうなんでしょうか? JDKの資料調べてみて戻り値や引数の数からおかしいように思えます。 本の正誤表には載ってませんでした。おねがいします。
273 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 16:13:54 ] matchesはbooleanを返す macherはMatcherインスタンスを返す ので、本が間違ってるね。
274 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 18:34:46 ] javaでビープ音出したいんですけど どうやったらできますか?
275 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 19:33:18 ] Toolkit.beep()
276 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 19:33:42 ] 開発言語:JAVA、データベース:Postgresql8.1の環境で開発してます。 Driver driver = DriverManager.getManager(url文字列); ※url文字列 jdbc:postgresql:プロジェクト名 上記コードでSQLExceptionが発生します。 データベースアクセスエラーのようですが何故発生するか分かりません。 jdbcドライバが認識されていないのでしょうか!? ご回答、アドバイスの方よろしくお願いします。
277 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 19:37:41 ] 接続できてないんじゃないのか。 コマンドラインから接続できるか確認すべき。
278 名前:276 mailto:sage [2007/04/07(土) 19:44:29 ] >>277 ローカルのDBなので、DOSプロンプトからログインできることも確認できました。
279 名前:デフォルトの名無しさん [2007/04/07(土) 19:47:26 ] boolean型の値を出す関数を組み合わせて、if(A&&B)のように使うことは出来ますでしょうか? また、全てfalseの場合にある動作をさせたいのですがどう書けばよろしいでしょうか? -func1()&&-func2()&&…のようにマイナスで反転させることってできませんよねorz
280 名前:274 [2007/04/07(土) 19:55:10 ] >>275 レス有難うございます。 あの、指定した秒数だけビープ音を出したいんですけどできますか? 別にビープ音じゃなくても音なら何でも構いません。
281 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 19:55:36 ] !func()で反転するじゃん
282 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 20:01:12 ] >>273 ありがとうございました。
283 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 21:29:23 ] >>276 原因はよく判らんけどとりあえずorg.postgresql.ds.PGPoolingDataSource使ってみれば? JavaDocでも >データソースへの接続時には DataSource オブジェクトの使用をお勧めします。 とかいってるし。
284 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 21:38:25 ] >>279 そもそも && や || は1行目みたいなことのために使うものだ。 全てがfalseの場合、は !A && !B のように書く。論理の反転(否定)は!演算子。 また、ド・モルガンの法則というものがあり、 !A && !B は ! ( A || B )ともかける。
285 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 21:51:10 ] >>280 何に使うのかわかんないけど System.out.printでbeepをあらわすエスケープシーケンス出すとか javax.soundを使ってみるとか
286 名前:276 mailto:sage [2007/04/07(土) 22:15:45 ] >>283 回答ありがとうございます。 >org.postgresql.ds.PGPoolingDataSource使ってみれば? 使ったことが無いのでなんとも言えませんが、やってみます。
287 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 22:20:06 ] >>276 エラーの内容を晒さないと無理かと
288 名前:デフォルトの名無しさん [2007/04/07(土) 22:31:52 ] >>271 わかんねっす
289 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 00:50:51 ] >>288 ごめん書き方悪かったかな。 TCPモニタを使用しない状態(<ここ重要)で、リクエスト送った時のローカルportとリモートhost,port をDOSプロンプト(Windows?)のnetstatを使って見てみればということ。 やり方は、結果はネットワーク的に何もしない状態でもたくさんでてくるから(単一マシン内で起こるパイプとか、いろんなサービス(共有)とかのレシーバ待機)、 リクエスト送った時と送らない時のnetstatの結果を比較してみてその差が求めたいものだと思う。 例えば、 netstat -a 1>c:tcpmon.txt とかやれば、1[interval]のオプションついてるから1秒おきにctrl+c押すまで延々とnetstat発行してくれてtcpmon.txtにキャプチャーしてくれる。(netstat ?でヘルプを見て) その状態の途中で、リモートにリクエストを送ってやる。 そして、おもむろに時間がすぎた後ctrl+c押してnetstatコマンドを止めてやる。 そして連続して出されたnetstatの結果の差を見る。差の中にリモートhostとリモートportがあると思う。 あとはリスナーのやり方含めてローカルホストの場合と同じでしょう。
290 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 01:23:42 ] EclipseってC#みたいですね
291 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 08:27:17 ] 未だにifの条件式考えるときに、||がいいか&&がいいか頭をひねってしまう。 特に条件が!の時に。みんなこんな?それとも俺が低脳なだけ?orz
292 名前:291 mailto:sage [2007/04/08(日) 08:44:23 ] 失礼、あまりにも低脳な発言ですた。
293 名前:デフォルトの名無しさん [2007/04/08(日) 09:39:07 ] MPGの全フレームを抽出するためのソフトを作るために Javaライブラリを探しているんだけど、 こういうのってどこで探せば見つかるの?
294 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 11:07:08 ] google
295 名前:デフォルトの名無しさん [2007/04/08(日) 11:10:53 ] >>294 探したけど無かったw
296 名前:デフォルトの名無しさん [2007/04/08(日) 11:13:57 ] もっとがんばれ
297 名前:質問 mailto:age [2007/04/08(日) 11:35:41 ] JavaとCどっち学んだほうがいいか?
298 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 11:48:51 ] どっちって。。。当然両方だろ。 プログラマなら何種類かの言語使えるのが普通。 そこまでじゃないならVBやスクリプトで充分。
299 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 11:52:19 ] >>295 JMF以上のことがいるのか? ibmにも有償ライセンスのがあった気がするが
300 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 11:54:49 ] >>297 初心者ならJavaとC#覚えればいいと思う 熟練者ならC++・JavaScript・PL/SQLなども覚えるべき
301 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 11:55:07 ] >>297 どっちでもいいと思う 俺はJavaとperlだけだな
302 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 23:33:24 ] >>295 JMFで十分。それ以上は自前。
303 名前:デフォルトの名無しさん [2007/04/09(月) 18:53:27 ] よろしくお願いします。 次のようなコードで、あるクラスのプロパティに、新規に作成した オブジェクトを代入する場合、func2のように、一度、メソッドの 中で一次変数的に作ったものを代入するのは、よくないのでしょうか。 C++などでは、駄目なことは理解してますが、Javaでもマズイことなのか どうか半信半疑なのですが。。 class someclass { ArrayList arr; void func1(){ this.arr = new ArrayList(); } void func2(){ ArrayList tarr = new ArrayList(); this.arr = tarr; } }
304 名前:303 mailto:sage [2007/04/09(月) 19:01:05 ] あ、失礼しました。new による作成ならC++でもヒープですね。 Javaでも、上記は問題ないように思いましたが、もし違っていましたら ご指摘頂ければ幸いですが、とるに足らない内容でしたら、スルーして 頂ければと思います。すみませんでした。
305 名前:デフォルトの名無しさん mailto:sage [2007/04/09(月) 19:45:28 ] 全く何の問題もないにょ
306 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 09:28:03 ] ん、何が問題かよく分からんね。スコープは変数に掛かってくるのであって オブジェクトの生成場所ではないですよ。
307 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 20:49:47 ] import java.applet.Applet; import java.awt.*; import java.awt.event.*; public class TestClass extends Applet{ public void init() { Scrollbar S = new Scrollbar(Scrollbar.HORIZONTAL); S.setBounds(new Rectangle(15, 15, 180, 25));//ここがうまくいってない add(S); } } 上のようなコードを書いて実行してもスクロールバーの位置・サイズが変更できません どのように修正したらよいのでしょうか?
308 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 21:07:29 ] >>307 www.google.com/search?q=setLayout
309 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 21:17:00 ] >>308 ありがとうございます setLayout(null); とすることで解決できました
310 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 21:25:35 ] プログラミングに関しては全くの初心者です。 iアプリを作りたいと思ってるんですが、プログラム組むのになにか専用のツールがあるんでしょうか? それともメモ帳に打ち込んで作るのでしょうか?
311 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 21:26:48 ] >>310 ttp://www.smg.co.jp/seminar/java/index.html
312 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 21:56:30 ] すいませんプログラム初心者です。%=について悩んでおります。 具体的には public class Enzan { public static void main(String[] args) { int x = 11; int y = 10; x %= 2 * 100; System.out.println(x); } } についてコンソールに11と表示されます。 自分ではx %= 2が1なので1*100で100がxに代入されると考えたのですが・・・。
313 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 22:03:57 ] >>312 演算子の結合順位調べろ。 > 自分ではx %= 2が1なので1*100で100がxに代入されると考えたのですが・・・。 仮に、前半の「x %= 2が1」が 先に実行されたとしても 後半の「1*100で100がxに代入される」は絶対ないだろ。 前半部分には代入演算子あるけど、後半には何処にも代入演算子が無いし。
314 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 22:52:28 ] equalsメソッドのオーバーライドについて質問です。制約として ・対称性 (symmetric): null 以外の参照値 x と y について、x.equals(y) は、y.equals(x) が true を返す場合だけ true を返す などがありますが、これらの制約は、x,yが同クラスのインスタンスとしたことを前提としてるんですよね? てなると、オーバーライドしたequalsメソッドで、AクラスオブジェクトとBクラスオブジェクトを 比較してtrueを返すような使われ方は、一般的ではないわけですか?
315 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 23:03:03 ] >>314 一般的ではないという以前に、別のクラスのオブジェクトが等しいとみなされる場合があるのか?
316 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 23:07:06 ] >>315 Mapのイコーリティって仕様で決まってんじゃなかったっけ。
317 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 00:17:17 ] >>314 そんな実装、やってみれば無謀な事がわかる A の何と B の何を比べるつもりなのか
318 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 01:11:02 ] equals を再定義するにあたって、うっかり getClass の比較を忘れてたりすると、そんなことが起きたりする。
319 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 01:16:14 ] >>318 getClass() での比較忘れてても、キャスト時に ClassCastException が飛ぶだけでは?
320 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 01:17:22 ] generics使ってるとそんなequalsは使えない Collectionで使う以外でequalsのオーバーライドはしたことないし
321 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 01:25:30 ] ……。 Generics があっても equals の引数型は Object で固定だし。
322 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 01:37:36 ] >>319 ちがうちがう class Sample { private final String id; // ... public boolean equals(Object obj) { return (obj instanceof Sample) && ((Sample)obj).name.equals(this.name); } } 適当だけど、こういうプログラムを昔よく書いてた経験がありましてですね。 尤も、この解決策は、 1) instanceof を getClass の比較に変更 2) Sample または equals の宣言に final をつける 3) クラスが異なっていても id が同じなら同じとみなすようにマニュアルを変更 の3種類あるけど。
323 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 01:41:34 ] いや、3種類も無いな。3番は忘れてくれ。
324 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 01:47:50 ] java.util.Date が3番(?)だったりする罠。 どーでも良いけど、3番だと実装が name 比較してるから拙い罠。
325 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 01:50:00 ] >>315 ListやMapの実装クラスは中身が一緒だったらequalsがtrueを返したような。 そういう意味ではクラス自体が違ってても等しいとみなしてよいことも なくはない。
326 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 07:38:33 ] >>325 うん、普通にあるよな。
327 名前:デフォルトの名無しさん [2007/04/12(木) 08:22:47 ] 車を運転する簡単なゲームを作っています。 左回転と右回転で何故か回転半径が違ったりする問題はありますが、 とりあえず車の挙動は完成しました。 現在壁にぶつかったら止まる動作を作っているのですが、 どうも上手くいかずここに書き込ませていただいた次第です。 アプレットの赤い点は、画像の表示位置である(car_x, car_y)を示したものです。 現在はこの座標を衝突判定に使っているので、前進しながらこの点が黒枠にぶつかると止まるはずです。 画像を回転させているからか画像左上の角と赤い点が一致しないことがあり、悩んでいるのはその修正です。 crash_check()内にあるコメントアウトは私があれこれ考えて修正させてみた式なのですが、 この修正を行ってRectangleに修正値である(car_x_check, car_y_check)を用いてもそれはそれでおかしな点を指してしまいます。 アプレット左上の数値はcar_angle(車の向いている方向)を示しています。 画像の回転もこの数値を元に行われます。 ソース www.za.ztv.ne.jp/yosi-h/page001 アプレット www.za.ztv.ne.jp/yosi-h/Java.html
328 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 11:45:17 ] Javaの勉強をしようと思うのですが 触り始める前に前提知識としてこっちの言語かじっとけみたいなのってありますか
329 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 12:17:53 ] 言語難易度 C#>JAVA>C>C++ 言語ルーツ 1.C(基本情報技術者試験と一緒に学習すると効率が良い) 2.C++(Cを学習済みの人でないと厳しい) 3-1.JAVA(UMLの勉強と一緒に行うと効率が良い) 3-2.C#(VisualStudioでGUIの作成を一緒に学習すると効率が良い)
330 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 13:00:31 ] オブジェクト指向とMVCくらいは覚えた方が良いかも。 #ここでSmalltalkとか出してくると荒れる原因か・・・ 俺はSelfの方が好きだが。
331 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 13:48:41 ] >>328 まず英語。
332 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 14:06:24 ] JAVA初心者にオススメのIDEを教えてください。
333 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 14:10:15 ] >>332 eclipse以上
334 名前:332 mailto:sage [2007/04/12(木) 14:21:18 ] ありがとうこざいます。 もうひとつ質問なんですが、携帯のアプリは専用のツールを用いないと作成できないのでしょうか?
335 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 14:33:06 ] うん
336 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 14:44:55 ] そのツールは、プログラミングするときに必要なのか、単にファイルを変換するときだけに必要なのかどちらなんでしょう?
337 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 15:24:03 ] javaでグラフ描画したいのですがどんな手法が
ありますかね?
今のところJFreeChartがフリーだし
シェア ○
信頼性 ?
拡張性 ○
性能 ○
と思ってるのですが他にいいヤツありますか?
338 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 16:18:59 ] うん
339 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 16:29:01 ] フリーソフト、シェアウェア使うなら使用許諾条件をきちんと読まないと 後で大変なことになるから気をつけた方がいいよ。
340 名前:デフォルトの名無しさん [2007/04/12(木) 16:52:55 ] windows2000を使っています。 サーバプログラムを作成したのですが、 起動のときにコマンドプロンプトで %JAVA_HOME%\bin\java.exe -server -classpath %CLASSPATH% MainClass とやると、当たり前ですがコンソールが返ってきません。 %JAVA_HOME%\bin\javaw.exe -server -classpath %CLASSPATH% MainClass とやると返ってくるのですが、 これをbatファイルに記述して、末尾に exit を追加。 これをダブルクリックしても自動でプロンプトが閉じてくれません。 このバッチファイルをダブルクリックで起動→プロンプト終了 とするにはどうすればいいのでしょうか?
341 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 17:40:51 ] >>340 スレ違い ttp://pc11.2ch.net/test/read.cgi/tech/1148485555/l50
342 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 18:21:49 ] >>325-326 いやー。普通にあるんだけど、3番を解決策と言うのはちょっと違うと思いまして。
343 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 19:14:35 ] sjc-pの問題でコンパイルエラーが起きるか、それとも実行時エラーが起きるかっていう問題が 結構多いんだけど、この見分け方って経験しかないの?
344 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 19:19:10 ] コンパイルエラーは論理的に構文が間違っていると大抵起こるし、 実行時エラーは内部割込みを行うエラーと考えればわかると思うけど。
345 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 19:36:01 ] >>343 コンパイルは構文エラーで、実行時はぬるぽやら配列インデックスやら まあ、後者は RuntimeException のサブクラスを見てみれば、色々有るでよ
346 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 19:37:43 ] >>343 言語仕様勉強すりゃ、どっちかわかる。 一部の実行時エラーはAPI仕様勉強しないとわからんかもしれんが。
347 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 19:52:13 ] まだ初心者なんで言語仕様よんでも理解できそうにないです。 RuntimeException のサブクラスが全部実行時エラーなんですか?
348 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 20:03:22 ] RuntimeExceptionとそのサブクラス
349 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 00:26:49 ] PipedInputStreamに1024バイト以上のデータを突っ込むとだんまりするんだけどなんで? PipedOutputStream pos = null;PipedInputStream pis = null;DataOutputStream dos = null; try{ pos = new PipedOutputStream();pis = new PipedInputStream(pos); dos = new DataOutputStream(pos); for(int i = 0; i < 2048; i++){ dos.writeByte(1); } }catch(IOException e){ e.printStackTrace(); }finally{ try{ dos.close();pis.close(); pos.close(); }catch(IOException e){ e.printStackTrace(); } }
350 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 00:43:17 ] Javaでの実装は知らんが一般にパイプは 突っ込むだけでは詰まるから適当に吸い出す必要あり。
351 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 00:46:05 ] >>349 書き込むばかりで読み出してないからだ。 PipedInputStreamのバッファサイズ以上のデータを書き込めばパイプが詰まるのは当たり前。
352 名前:K.K.K [2007/04/13(金) 00:50:01 ] int[][] java = { {100,200,300,400,500,600}, {10,20,30,40,50,60} }; この2次元配列でこの部分の{100,200,300,400,500,600}配列のLengthを取得し 、そのLengthの1番目なら100と10を取得、2番目なら200と20を取得、、、 を取得したLength分したいのですが、どのようにすればいいんでしょうか?
353 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 01:09:25 ] int[][] java = { {100,200,300,400,500,600}, {10,20,30,40,50,60} }; for (int i = 0, length = java[0].length; i < length; i++) { System.out.printf("%d: %d%n", java[0][i], java[1][i]); }
354 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 01:13:05 ] >>337 が文字化けしてるのは俺だけ?
355 名前:デフォルトの名無しさん [2007/04/13(金) 02:55:43 ] Mapを配列にいれてアクセスするにはどうすればいいですか? getするところで 警告:[unchecked] 無検査変換ですになってしまう。 public static void main(String [] args) { Map<String,String> [] maps = new HashMap[2]; maps[0] = new HashMap<String,String>(); maps[1] = new HashMap<String,String>(); maps[0].put("hoge","ほげ"); System.out.println(maps[0].get("hoge")); }
356 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 02:56:49 ] genericsの仕様だから無理
357 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 02:57:29 ] まちがい putするところで 警告:[unchecked] 無検査変換ですになってしまう。
358 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 02:58:29 ] げー、なんか抜け道ないかなぁ。
359 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 03:18:12 ] >>358 抜け道はない。 配列がだめならListを使えばいいじゃない。 public static void main(String[] args) { List<Map<String,String>> maps = new ArrayList<Map<String, String>>(2); maps.add(new HashMap<String, String>()); maps.add(new HashMap<String, String>()); maps.get(0).put("hoge","ほげ"); System.out.println(maps.get(0).get("hoge")); }
360 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 04:10:06 ] >>359 おお、その手があったか! ありがたう!
361 名前:デフォルトの名無しさん [2007/04/13(金) 09:27:26 ] iアプリのテキストボックスで数値貰って計算したいんですが、 テキストボックスを文字禁止で数値限定にする方法ありますか?
362 名前:デフォルトの名無しさん [2007/04/13(金) 11:33:36 ] よろしくお願いします。 Win2003 + Java + struts + spring + JDBC + Oracleでのシステムなのですが 不可思議な動きをして困っています。 例えばIDがユニークキーとなるテーブルがあったとして //テーブルに該当するIDがあれば削除する。; List ret = DBSearch.search(id); if(ret != null || ret.isEmpty){ DBDelete del = new DBDelete(); del.delete(id); } //テーブルにレコードをinsert DBInsert ins = new DBInsert(); ins.insert(id); のようなロジックを組んで、実際にサーバ上で走らせてみるとDBのユニークキーエラーが出たり出なかったりします。 一度エラーが出ても、もう一回同じ処理を走らせると正常終了したりします。 どこかで「Javaのvoiのvoidは戻り値がないため、関数を呼び出したらその終了を待たずに次の処理に行く」 と言う話を聞いたことがありまして、 もしそうなら上記のdel.delete(id)よりも先にins.insert(id)が走ってしまい、ユニークキーエラーになるのかな と思い御相談させていただきました。 「Javaのvoid関数は戻り値がないため、関数を呼び出したらその終了を待たずに次の処理に行く」 というのは本当でしょうか。? 意味がなくてもbooleanやlongなどの戻り値をつけたほうが良いのでしょうか??
363 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 11:38:08 ] >>362 心配ならレコードをinsertする処理の前に IDが存在しなくなるまで抜けないループでもつければいいと思うが。
364 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 12:55:23 ] >>362 >「Javaのvoid関数は戻り値がないため、関数を呼び出したらその終了を待たずに次の処理に行く」 >というのは本当でしょうか。? んなことはない。それが出来たらスレッドはいらなくなる。 予想するとこんな感じでは? deleteとinsertで別のコネクションを使っていて、 delete側がcommitしないままコネクションを放置している。
365 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 12:56:55 ] >>362 メソッドの戻り値がvoidだというだけで非同期なメソッド呼び出しになるなんてことはありえない。 そんな言語仕様嫌過ぎる。 呼び出したメソッドの中で新たにスレッドを動かして、 そのスレッドの中で処理が続いているにも関わらずreturnする実装になっているとか、 呼び出したメソッドがさらに非同期なメソッド呼び出しを行っているとかしていない限り。 そのメソッドの仕様を見て非同期メソッド呼び出しになっていないか確認すれ。 もし非同期メソッドなら対処方法としては>>363 でいいと思う。
366 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 13:02:44 ] class Hoge { int x; void A() { x=1; } void B() { x=2; } void C() { A(); B(); } } これでC()を呼び出した後でxの値がどうなるか分からないなんてJavaは酷い言語だなw