1 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 12:32:06 ] プログラミング言語Javaに関する質問スレです。 JavaScript, Ajaxの質問は、ここでは受け付けていません。 Web製作管理 pc11.2ch.net/hp/ Webプログラミング pc11.2ch.net/php/ をご利用下さい。 よくある質問 ・「コマンドまたはファイル名が違います」 「'javac' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」 「Exception in thread "main" java.lang.NoClassDefFoundError: 」 www.wikiroom.com/java/?path,classpath ・String に == は使うな。equals() を使え。 ・「\12288 は不正な文字です。」 文字リテラル以外で全角スペースは使えません。半角スペースに。 ・その他の質問→「APIのjavadoc見ろ」 前スレッド 【初心者】Java質問・相談スレッド116【歓迎】 pc11.2ch.net/test/read.cgi/tech/1213347130/ 次スレは>>990 あたりで。 過去ログ、関連スレッド、よくある質問とその回答など、 質問をする前に、貴方が見なければならないサイトについての情報は、 下のwikiのページにまとめてあります。 www.wikiroom.com/java/
357 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 02:08:04 ] >>355 プリミティブなGUIプログラミングとはそういうものだ。 だから、隠れた部分が再表示されるときにはイベントが飛ぶようになってる。 それに合わせて再描画しろ。
358 名前:デフォルトの名無しさん [2008/07/19(土) 02:13:10 ] >>355 その消えた部分を再描画するために paint()(とその下位のpaintComponent())が呼ばれる。 paint()もしくはpaintComponent()が呼ばれた時、書かれていたものが再描画されるようになっているか? ツールの描画操作をした時だけしか描画してないのじゃないか?
359 名前:355 mailto:sage [2008/07/19(土) 07:40:04 ] みなさんありがとうございます、お蔭様で解決いたしました! 358さんがおっしゃられたとおりで、ツールの描画操作をした時だけしか描画していませんでした。
360 名前:346 mailto:sage [2008/07/19(土) 09:56:51 ] 分かりづらい説明、失礼しました。 始めからソースを乗せれば良かったのですが、何分恥ずかしかったので…。 public class SampleP4 extends Applet implements Runnable{ int num; int x; public void init(){ Thread th; th = new Thread(this); th.start(); } public void run(){ try{ for(int i=0; i<10; i++){ num = i; x = i * 10; repaint(); Thread.sleep(1000); } } catch(InterruptedException e){} } public void paint(Graphics g){ String str = num + "です。"; try { for(int i=0; i<10; i++){ g.drawString(str, (10 + x), 10+i*10); Thread.sleep(1000); } } catch (InterruptedException e) {} } } repaint()では別スレッドが呼び出されているとは思うのですが…
361 名前:デフォルトの名無しさん [2008/07/19(土) 10:09:59 ] 携帯サイトにJSFを使いたいんですが上手く表示できません フィルターのことをWEBで見つけてやって見たんですが それでも上手くいかないんですが 皆さんはどうやってますか
362 名前:デフォルトの名無しさん [2008/07/19(土) 10:13:03 ] >>360 repaintでEDTが呼ばれる。EDTは確かに別スレッドだが、EDTはいわばシングルトンだ。 EDTが処理している間に別の処理(二回目以降のrepaint)を要求しても、1つめのrepaintが 終わらない限り、EDTは処理できない。 SampleP4が単に10個のメッセージを位置をずらしながら表示したいだけなら、 public void paint(Graphics g){ String str = num + "です。"; g.drawString(str, (10 + x), 10+num*10); } で充分だ。 (もちろんこれだけだと画面が重なった時に再ペイントされない現象となるが。)
363 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 10:16:42 ] メソッドの名前をまちがって全角でやったら、全角文字列でやったらできました。 メソッドの名前を日本語でできることってみんなしってますか?
364 名前:デフォルトの名無しさん [2008/07/19(土) 10:21:21 ] >>361 状況がさっぱり分からん。 皆さんは上手くやってるんだろうよ。
365 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 10:24:56 ] >>363 某社フレームワークの自動生成コードは、全力全開で日本語識別子を使いまくってる。 あと、「プロダクションコードには日本語入れたくないけど、ユニットテストだったらいいよねー」といった意見もある。
366 名前:デフォルトの名無しさん [2008/07/19(土) 10:25:02 ] >>363 発見したらまず検索してみようなw
367 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 10:36:25 ] >>363 英語の全然出来ない同僚が、翻訳サイト使って超直訳のメソッド名にしてるのを見ると、 いっそ日本語の方が良いんじゃないかという気はするな。 そういうヤツらに限って、プロジェクト用語集やら命名規約やらは見ない。
368 名前:346 mailto:sage [2008/07/19(土) 13:30:52 ] >>362 Threadで言うところのsynchronized修飾子のようなついてると考えてよいのでしょうか? なんだか分かった気がします。ありがとうございます。
369 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 13:52:18 ] >>368 EDT への要求は Queue に入れられ、EDT はそれを順次取り出して処理する。 repaint すると Queue に入れるだけですぐ戻る。 だから SampleP4#run は1秒毎に repaint 要求を Queue に入れることができるが、 EDT は最初の repaint を処理するために SampleP4#paint を呼びだし、その中で 合計10秒間処理が行なわれているので、次に EDT が Queue から repaint 要求を 取り出して処理できるのは10秒後となってしまう。 EDT は画面全てを統括しているため、10秒間も処理を奪ってしまうとその間、 ボタン操作からウインドウそのものの再描画まで全て出来なくなる。 一時的にフリーズしたようになってしまうため、EDT の処理内で時間のかかることは すべきでない。
370 名前:346 mailto:sage [2008/07/19(土) 15:16:38 ] >>369 ありがとうございます。 まだ気になるのですが、paint の処理中(このプログラムの場合10秒間)に 呼び出された repaint は、 Queue の中に入れられるということですが、 >>360 の動作を見る限りでは、 Queue に残っているrepaint 要求が 全て取り出されずに、そのままになっているように思えます。
371 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 15:20:33 ] >365 俺もJUnitのテストメソッド名は日本語OKってのは同意 JavaDocがテスト仕様書として通りやすいのがポイントだわな どうでもいいが、いまどき全てのクラスがプログラムコード、メソッド名も連番ってプロジェクトに遭遇したんだが、どうすればいいと思う?
372 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 15:33:37 ] >>370 何度repaintを要求しても、paintは1回しか発生しない 表示内容(ラベルのテキストやイメージ、この場合はnum)が何度変更されても、 最後に1回だけpaintし直せば最新の状態が反映され万事OKであると仮定されている
373 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 15:43:36 ] オーバーライドに関する質問なのですが、オーバーライドをした上で保持をする、というのはどういうことなのでしょうか?
374 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 16:02:16 ] >>371 javaでの話しか? 変換表を用意して、ツールでクラス名/メソッド名とその参照を置換とかどう? 1. 変換表に従って置換 2. 担当分を普通に書く 3. 変換表に従って置換(1の逆) 4. コンパイル&テスト 5. 問題があれば2に戻る
375 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 16:28:20 ] >374 そこまでやるかどうか・・・って感じはしてる おまけにprivateメソッドも禁止(プログラム定義書に定義されたメソッド以外は作成不可)だし 名前出してしまうが、NTTデータのイントラマートのコーディング標準ってそうなっているのか?
376 名前:346 mailto:sage [2008/07/19(土) 17:38:35 ] >>365 なるほど、Queueの中にたまっている全てのrepaint要求が、 最後のrepaintだけで済まされているということですね。 ありがとうございます。
377 名前:デフォルトの名無しさん [2008/07/19(土) 19:56:21 ] >>371 こっちの社内にもそんなプロジェクトがあったな。VBだったが。 汎用機やってた人間がリーダーしてるもんだから、そうしろという命令らしい。 モジュール名が XXYYZZNN で機能番号・画面番号・画面内番号・内部通番とか。 そんなプロジェクトには絶対入りたくないもんだ。
378 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 19:59:46 ] >>373 なにを保持するんだ。
379 名前:デフォルトの名無しさん [2008/07/19(土) 20:10:26 ] 以下のようなコードを実行すると、((ArrayList)getList.get(2)).remove(l);の ところで、java.lang.ArrayIndexOutOfBoundsException: -1 と注意されます。どうしたらいいか教えていただけませんか? String findstring=thesaurus; for(int k=0, l=0 ; k < ((ArrayList)getList.get(2)).size(); k++, l++){ String filename = (String) ((ArrayList)getList.get(2)).get(k); try{ String line; BufferedReader reader=new BufferedReader(new FileReader(filename)); while((line=reader.readLine())!=null){ int n=line.indexOf(findstring); if(n<0){ ((ArrayList)getList.get(2)).remove(l); l--; } } reader.close(); } }
380 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 20:19:51 ] >>379 ファイルが複数行で、2行以上で探している文字が入っていない。 l-- の後、どこを通っているか System.out.println() をあちこち入れて 確かめてみろ。
381 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 22:22:01 ] >>376 java アクティブレンダリングでググれば幸せになれるよ
382 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 23:06:43 ] >>375 >おまけにprivateメソッドも禁止 軽く死ねるな
383 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 00:01:42 ] エンクロージング・インスタンスがない、っていうエラーはどうやったら解けるんですか?
384 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 00:03:34 ] >>379 見たことないタイプの技巧ループだな。 2変数で、両方インクリしてるとか、ループ内操作してるとこが 文法的にどうなの? for(int k=LIST.size()-1;k>=0;k--){ (・・・remove()込みの操作・・・) } って感じで逆走査すれば、remove()でインデクスずれるとか 気にしないで1変数でできる。
385 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 00:05:00 ] >>383 インナークラスだよな。 中のクラスにstatic を付けるとか。
386 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 00:08:41 ] >>383 内部クラスを new するときに明示的にインスタンスを与えるか、内部クラスを static にする
387 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 00:15:31 ] >>385 ,386 ありがとうございます。staticつけたらすぐ解決しました。
388 名前:デフォルトの名無しさん [2008/07/20(日) 02:06:56 ] ArrayIndexOutOfBoundsException:-1って出たんですが これって何のエラーですか?javaはかなり初心者です
389 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 02:11:56 ] 配列のインデックスに -1 が指定されましたというエラー
390 名前:デフォルトの名無しさん mailto:age [2008/07/20(日) 06:02:28 ] こんにちは。最近勉強を始めたものです。 リダイレクト機能を使ってテキストファイルから複数の数字を読み込み、配列に格納したいのですが、 そのテキストファイルが以下のような場合、うまくまとめて配列に格納する方法はないでしょうか? 42342423 2343242342 2433 34444 234 34344 343 444443 34 3444 44 45858 ちなみに自分はsubstringsメソッドを使ってそれぞれ抜き出し、trimメソッドにより空白を取り除いてから 配列に格納したのですが、どうも見栄えが悪いうえに効率が悪いような気がしたので質問させていただきました。 この数字はあとで計算に使うため、配列の型はint[]型にしたいです。 よろしくおねがいします。
391 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 06:05:53 ] StreamTokenizerとかScannerとか
392 名前:390 mailto:sage [2008/07/20(日) 06:05:57 ] >>390 はテキストファイルの内容に空白スペースをいれていたのですが2ちゃんの処理の都合上か スペースが取りのぞかれてしまいました。 42342423-2343242342-2433-34444 234------34344------343--444443 34-------3444-------44---45858 この半角ハイフンがスペースだと考えていただけますようおねがいいたします。
393 名前:390 mailto:sage [2008/07/20(日) 06:13:25 ] >>391 即レスありがとうございます。使い方をこれからググったりして調べてみます!
394 名前:デフォルトの名無しさん [2008/07/20(日) 11:03:26 ] すみません。 ある数値の入ったdoubleに最小の数を足したいんですけど どうやったらいいですか?
395 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 11:15:18 ] >394 Double.MIN_VALUE
396 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 11:18:35 ] >>395 それはやっても出来ませんでした。
397 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 11:29:43 ] >396 それは、 コンパイルできない? 実行できない? 計算結果が想定外?
398 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 11:30:26 ] 浮動小数点数だから足してもかわんねーんじゃないの
399 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 11:34:47 ] 多分、0+Double.MIN_VALUE以外では変わらないと思います。
400 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 11:43:10 ] >>399 Double.MIN_VALUE + Double.MIN_VALUE とかでも変わると思うが。
401 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 11:48:57 ] どんな数でも足すと変わる最小の数を得る方法
402 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 11:50:20 ] 足し算は絶対値が小さい数からというのは基本ですの
403 名前:390 mailto:sage [2008/07/20(日) 15:28:19 ] Scannerクラスのメソッドを用い、完璧に作り上げることができました。本当にありがとうございました!
404 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 16:24:06 ] IntとIntegerで相互に変換するにはどうすればよいんでしょうか? 調べてみたものの中々具体的なプログラムがなくわかりませんでした。
405 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 16:35:06 ] >>404 java5以降ならそのまま代入でいいけど、java 1.4のはなし?
406 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 16:47:27 ] int i = (new Integer(100)).intValue();
407 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 18:09:23 ] ぼくしんぐ><
408 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 18:38:26 ] >>394 もおねがいします。
409 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 18:54:30 ] Double.NEGATIVE_INFINITY
410 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 21:50:08 ] すみませんが教えてください マルバツゲームを現在作成しているのですが、 マルの勝利条件を決める方法がわかりません 法則性がまったくわからなくて苦戦しています 先輩方ぜひ教えてください //oが勝ちの条件 if((map[0][0]==1 && map[0][1]==1 && map[0][2]==1) ■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■))} msg="oの勝ちです。"; finished=true; repaint();
411 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 21:57:24 ] 総当たりで調べてもいいんじゃない?
412 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 22:16:30 ] >>411 さきほどいろいろと調べて入れてみました //oが勝ちの条件 if((map[0][0]==1 && map[0][1]==1 && map[0][2]==1)|| (map[1][0]==1 && map[1][1]==1 && map[1][2]==1)|| (map[2][0]==1 && map[2][1]==1 && map[2][2]==1)|| (map[0][0]==1 && map[1][0]==1 && map[2][0]==1)|| (map[0][1]==1 && map[1][1]==1 && map[2][1]==1)|| (map[0][2]==1 && map[1][2]==1 && map[2][2]==1)|| (map[0][0]==1 && map[1][1]==1 && map[2][2]==1)|| (map[0][2]==1 && map[1][1]==1 && map[2][0]==1))} msg="oの勝ちです。"; finished=true; repaint(); あっているかどうかはわかりませんが… なんかエラー表示が出てしまって…
413 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 22:19:26 ] > (map[0][2]==1 && map[1][1]==1 && map[2][0]==1))} その } は { の間違いでは
414 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 22:22:45 ] 解りにくいから、 if( 条件1) { // 処理 }else if(条件2) { // 処理 } というように書いておけ。 だからタイプミスしてエラーになるんだよ
415 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 22:24:09 ] >>413 >>414 すみません ミスしていました そこは直ったはいいのですが、 今度はほかのところを訂正すればするほど間違いが出て ちょっとカオスな状況になってきました とりあえずお礼を 教えてくださりありがとうございます
416 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 22:24:32 ] map[x][y] は ○が1, ×が-1,未入力が0でいいのか? それならば、map[0][0] + map[0][1] + map[0][2] == 3 とかの方が解りやすいかもしれん
417 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 22:27:22 ] >>416 アドバイスどうもです ただあまり文を変えることが許さないので 実践できずorz
418 名前:410 mailto:sage [2008/07/20(日) 23:00:20 ] >>417 文ミスです 「許されることがないので」でした すみません
419 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 23:21:51 ] 演算結果を小数点以下5桁とか8桁まで、と指定して取得するにはどうすれば良いんですか?
420 名前:410 mailto:sage [2008/07/20(日) 23:32:12 ] 皆さんのおかげで組み立てられたのですが 訂正部分を直せば直すほど「間違えです」表示が… とりあえずこれは間違えていますでしょうか? public void mousePressed(MouseEvent e){} public void mouseReleased(MouseEvent e){} public void mouseEntered(MouseEvent e){} public void mouseExited(MouseEvent e){} public void mouseClick(MouseEvent e){ int x =e.getX; int y =e.getY;
421 名前:デフォルトの名無しさん mailto:sage [2008/07/21(月) 00:04:33 ] >>394 ,408 Math#nextUp >>419 超適当 static double scale(double d, int scale) { double r = Math.pow(10, scale); return Math.round(d * r) / r; }
422 名前:デフォルトの名無しさん mailto:sage [2008/07/21(月) 00:17:39 ] 形態素解析エンジンsenを使いたくて www.esco-sb.jp/blog/roughjustice/archives/2007/03/java_sen.php ここを見ながらインストールしたのですが、System.setPropertyの使い方が分からずつまずいています。 sen.homeにsenのインストールディレクトリを指定すれば良いようなのですが、 System.setProperty("sen.home","C:\\Program Files\\sen-1.2.2.1"); とやるとjava.lang.IllegalArgumentException: unknown protocol: c のエラーになり、相対パスを試そうと↓をやると System.setProperty("sen.home","..\\..\\..\\sen-1.2.2.1"); java.lang.IllegalArgumentException: C:\Users\hoge\Documents\program\Sen\..\.\sen-1.2.2.1\conf\sen.xml (指定されたパスが見つかりません。) と展開されないためエラーが出ます。 参考ページは絶対パスで通っているようなのですが、何故こうなるのでしょうか?
423 名前:デフォルトの名無しさん mailto:sage [2008/07/21(月) 00:21:20 ] >>422 確か、何故かsetPropertyが効かなかったはず 見つかりませんって書かれたパスに、 sen.xmlとかその周りのやつ(辞書とかも)も置いてみたらうまくいったような・・・・・・
424 名前:デフォルトの名無しさん mailto:sage [2008/07/21(月) 00:22:07 ] パスをurlで書いたらどう?
425 名前:デフォルトの名無しさん mailto:sage [2008/07/21(月) 00:23:08 ] sen.xmlでは相対パスで辞書ファイルの位置とかを記述してあるので ディレクトリ構造をいじらず、関連ファイル群をそのままコピーして
426 名前:デフォルトの名無しさん mailto:sage [2008/07/21(月) 10:58:23 ] ちょっと疑問に思ったんですけど、html<form>から受け取った、Servletのrequest.getParameter("");の文字数について。 <!--index.jsp--> <form action="index.jsp"> <input type="text" name="id" /> <input type="submit" /> </form> <% if(request.getParameter("id")!=null){ %><%=request.getParameter("id").length()%><br /><% } %> この場合、テキストボックス未入力でフォーム送信時、結果:"0"と出力されますが、nullじゃないのでしょうか? 未入力チェックする時、下記のような風によくするのですが、nullチェックは必要ないですか? if(request.getParameter("id")==null && request.getParameter("id").length()<1){ //未入力時処理 }
427 名前:デフォルトの名無しさん mailto:sage [2008/07/21(月) 11:08:04 ] HttpRequest(POST/GET)じゃ、""とnullを区別できないのは解るか? getParameter()のnullチェックは、パラメータ自体が送信されてこなかった事を考慮すれば必要だろう どちらにせよUtilメソッドを作っておいて if(Util.isEmpty(request.getParameter("id"))) { // 未入力処理 } とか、書くほうがスマートだが
428 名前:426 mailto:sage [2008/07/21(月) 11:30:29 ] ""は、レンジ0文字 nullはパラメタ自体が送信されなかった時 ってことでいいですかね? Utilメソッドを作るというのは、こういうことですか? public class Util{ private boolean Parameter = false; public boolean isEmpty(String Parameter){ if(Parameter!=null && Parameter.length()<1){ this.Parameter = true; } return this.Parameter; } }
429 名前:デフォルトの名無しさん mailto:sage [2008/07/21(月) 12:21:21 ] public class Util{ public static boolean isEmpty(String parameter){ return (parameter==null || parameter.isEmpty()); } }
430 名前:デフォルトの名無しさん mailto:sage [2008/07/21(月) 15:30:16 ] C#…
431 名前:デフォルトの名無しさん mailto:sage [2008/07/21(月) 16:52:03 ] キーボードから入力させて、それをリストに追加していくプログラムを forで作りたいんですが、どうやればいいですか? 例えば、最初に入れたい分の数を入力して、 次にその数の分入力させる。
432 名前:デフォルトの名無しさん mailto:sage [2008/07/21(月) 17:08:46 ] >forで作りたいんですが
433 名前:デフォルトの名無しさん mailto:sage [2008/07/21(月) 17:38:10 ] import java.awt.*; public class SampleApp extends Frame implements ActionListener{ という書き出しなのですが、java.lang.NoClassDefFoundError: ActionListenerと出ます。 理由がわかりません。環境はEcipse3.3です。
434 名前:デフォルトの名無しさん mailto:sage [2008/07/21(月) 17:51:42 ] java.awt.event.ActionListener
435 名前:426 mailto:sage [2008/07/21(月) 17:51:47 ] >>429 Stringクラスに、isEmpty()ってあるんですか?><
436 名前:デフォルトの名無しさん mailto:sage [2008/07/21(月) 17:54:16 ] Dinner[] dinners=new Dinner[]{ CURRY , RAMEN , YAKIZAKANA }; try{ int menu=Integer.parseInt( ID ) % dinners.length; eat(dinners[menu]); } }catch(NumberFormatException e){ goToBed() } えいっ!
437 名前:436 mailto:sage [2008/07/21(月) 17:55:47 ] ぐは。。。ぬるぽか。寝るわ。
438 名前:デフォルトの名無しさん mailto:sage [2008/07/21(月) 18:08:56 ] >>421 ありがとうございます。
439 名前:デフォルトの名無しさん mailto:sage [2008/07/21(月) 18:18:47 ] >>435 1.6で導入された。 length()が0の場合true
440 名前:デフォルトの名無しさん mailto:sage [2008/07/21(月) 18:24:34 ] >>434 ありがとうございます!できました! インポート対象はその層までだったんですね・・・・
441 名前:デフォルトの名無しさん mailto:sage [2008/07/21(月) 20:19:09 ] ところでおまいら、祝日だってのに もしかして仕事してるわけ?
442 名前:426 mailto:sage [2008/07/21(月) 21:18:27 ] >>441 祝日って何?
443 名前:デフォルトの名無しさん mailto:sage [2008/07/21(月) 22:35:55 ] >>441 そんなの関係ねぇ
444 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 00:37:40 ] なんかほんとに初心者丸出し質問で申し訳ないんですが 簡単な3×3マスパズル(コマをスライドさせて元の絵に戻すアレ) の作り方なんか調べられるサイトや本って無いですかね。 javaゲームの本なんかに書いてあるのだろうか
445 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 00:49:47 ] ttp://wiki.game-develop.com/index.php?%A5%D7%A5%ED%A5%B0%A5%E9%A5%DF%A5%F3%A5%B0%2F%BD%E9%BF%B4%BC%D4%B8%FE%A4%B1%2F%A5%C1%A5%E5%A1%BC%A5%C8%A5%EA%A5%A2%A5%EB%2F%C3%CA%B3%AC%C5%AA%B3%D8%BD%AC
446 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 00:50:12 ] プログラミング自体が初心者なら書いてあっても理解は無理 適当な入門本でも一通り学習してからの話
447 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 00:55:03 ] >>444 15パズルでぐぐるといいかも
448 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 03:23:28 ] ありがとうございます。 実は課題で出されてソースだけでも見つけてコピペしないと・・・と クラスメートが悩んでいたので助かりました。
449 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 04:21:15 ] クラスメートw
450 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 07:47:12 ] >>448 こんなヒドイの久しぶりに見た
451 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 17:37:02 ] public DigitalWorldClock(String c, int o) { super(c,o); } ”Wellington,+12”みたいなtxtファイルを読み込んで、コンマの前後で分けて、 上みたいな感じでSuper(c,o)を使いたいのですが、 public DigitalWorldClock(String str) { int index = str.lastIndexOf(','); c = str.substring(0, index); o = Float.parseFloat(str.substring(index+1)); super(c,o); } ↑と書いたところ、” super の呼び出しはコンストラクタの先頭文でなければなりません。”と出ます どう直せばいいのか教えてください
452 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 17:52:49 ] super の呼び出しはコンストラクタの先頭文にする
453 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 18:01:23 ] めちゃくちゃ汚いがこんな具合。 別にファクトリメソッドを準備したほうが賢いと思うよ。 public DigitalWorldClock(String str) { super(hoge1(str), hoge2(str)); } private static String hoge1() { int index = str.lastIndexOf(','); return str.substring(0, index); } private static float hoge2() { int index = str.lastIndexOf(','); return Float.parseFloat(str.substring(index+1)); }
454 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 18:05:04 ] これが正攻法のファクトリメソッド private DigitalWorldClock(String c, float o) { super(c,o); } public DigitalWorldClock createInstance(String str) { int index = str.lastIndexOf(','); c = str.substring(0, index); o = Float.parseFloat(str.substring(index+1)); return new DigitalWorldClock(c, o); }
455 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 18:21:33 ] >>452-454 さっそく教えてくださってありがとうございます。 何となくですけど、教えてくださったことはわかりました。 super(c,o)は別にした方がいいんですね・・・ それで、さっそく>>454 で教えていただいた方法に書き換えて試してみたのですが、 private DigitalWorldClock(String c, float o) { super(c,o); } の部分に、「シンボルを見つけられません」と出てしまいます。 プログラムの後の方で出てくる「list.add(new DigitalWorldClock(str));」にも、シンボルが見つけられませんと出ます。 これはどう直せばいいのでしょうか?重ね重ねすみませんがよろしくお願いします
456 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 19:21:48 ] インポート部分を書け
457 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 19:57:08 ] eclipseとは別で起動しているjavaに以下のデバッグオプションをつけ、eclipseからリモートデバッグできました。 -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 通常リモートデバッグができれば、デバッグ中(変更対象にはブレークで止まっていない)にソースを変更し、 再度変更クラスに処理が入ると、変更が反映されるはずなのですが、反映されません。 何か設定ややり方が間違えているでしょうか? JDK1.6です。