1 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 22:10:53 ] 過去ログ、関連スレッド、よくある質問とその回答、 質問をする前に、貴方が見なければならないサイトについての情報は、 下の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質問・相談スレッド100【大歓迎】 pc11.2ch.net/test/read.cgi/tech/1175317038 /* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。 質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */ また、当スレで質問をするかたは、回答をもらえたときに、 wikiの更新をして頂ければ、忝なく存じます。 JavaScript, Ajaxの質問は、ここでは受け付けていません。 Web製作板をご利用ください。pc10.2ch.net/hp/ 次スレは>>980 あたりで。
651 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 20:25:57 ] >>647 俺らは ! は必ず三つ並べるようにしてる。 if(!!!b) みたいに、目立つように。
652 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 20:35:36 ] >>651 なにー! くそー、じゃあオレは4つ並べちゃうぞ
653 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 20:39:33 ] >>652 ちょw それヤバいwww
654 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 20:41:49 ] >>652 だめじゃん
655 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 20:42:27 ] >>653 ってか、3つや5つならオッケーなんだよな。 4つや6つ並べると負けってのは何か理不尽じゃね? 納得いかない奴の数→(!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!ry
656 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 20:48:07 ] >>653 wを2つ並べるのも避けてるみたいですが、意図的ですか!!!ww1w!w!!ww というか _, ._ 金曜の夜なのに (´・ω・) くそレスが次から次へと… ○={=}〇, |:::::::::\, ', ´ 、、、、し 、、、(((.@)ww意図的ですか!!!ww1w!w!!wwwbw!!ww
657 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 21:24:47 ] >>638-639 結局、JSR-133って何が変わったんだっけ?
658 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 21:29:48 ] !!! って流石に ! に最適化されるよね?
659 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 21:36:31 ] (´・ω・) く あまり糞レス増やすなよー ○={=}〇, |:::::::::\, ', ´ 、、、、し 、、、(((.@)!!! って流石に ! に最適化されるよね?
660 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 23:33:39 ] !って1個じゃなくてもいいの!?
661 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 23:34:59 ] !!?!
662 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 23:35:00 ] >>660 単項演算子だからね。
663 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 23:35:44 ] 1++++---+--+++++-+-++-+2
664 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 23:42:10 ] ああそうか2個あったらfalseの逆になるのか
665 名前:デフォルトの名無しさん [2007/05/19(土) 00:08:50 ] >>645 >>646 >>648-650 ありがとうございます。 参考にさせてもらいます。
666 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 00:21:33 ] >>663 構文エラーだね。
667 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 00:27:41 ] 1+ + + +- - -+- -+ + + + +-+-+ +-+2
668 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 00:30:44 ] >>667 マジレスすると、Java では 1 ++ ++ -- + -- ++ ++ + - + - ++ - + 2 と区切られなければならない。 1++2 も同じ理由でコンパイルエラーになる。
669 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 00:32:35 ] マイナスが一個足りないな
670 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 02:45:35 ] ネットワーク対戦のゲームを作りたいのですが、 クライアントサイドにSwingをサーバサイドにサーブレットを使おうと考えています。 通信部分はどうしたらいいのでしょう。
671 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 02:51:40 ] ServletならJakarta Commons HTTP Clientを使っとくのが楽かもね。
672 名前:670 mailto:sage [2007/05/19(土) 03:02:16 ] >>671 ありがとうございます。 ググってみたのですがよくわかりません… 詳しく教えていただけないでしょうか?
673 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 03:39:51 ] わからんのなら素直にSocketでも使っとけ。
674 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 05:43:23 ] >>671 HTTPSでも問題ないですか?
675 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 05:45:14 ] >>670 ttp://jakarta.apache.org/site/downloads/downloads_commons.html
676 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 06:17:14 ] ttp://www.ipa.go.jp/security/awareness/vendor/programming/a03_04.html このページにある、リスト2 InfoMenuクラスのソースなのですが、 10 public void dispMenu(Passwd pwd) { 11 if(pwd.checkPasswd() == true) { 12 dispSystem(); 10行目の部分でPasswdクラスのオブジェクトを取ってくると記述されていますが、 PasswdクラスとinfoMenuクラスが親子関係という訳でもなく、 infoMenuクラスからPasswdオブジェクトを作っている記述もありません。 なぜ、dispMenu(Passwd pwd)だけで任意のPasswdオブジェクトが取得できるのでしょうか?
677 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 07:41:15 ] >>676 > 10行目の部分でPasswdクラスのオブジェクトを取ってくると記述されていますが、 そんなこと書いてない。テキストを誤解している。
678 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 07:43:54 ] >>676 「Passwdを取得する」ではなく「Passwaを引数とする」ではないの?
679 名前:676 mailto:sage [2007/05/19(土) 08:11:34 ] そのとおりです、オブジェクトを引数として渡してるだけでしたorz 何故か初歩的なこと忘れてました。 「dispMenu(Passwd pwd)」って記述したら自動的に 「dispMenuに渡された引数がそのままPasswdに渡されて、尚且つpwdオブジェクトが生成される」とか 変なことばかり考えてまして。 ありがとうございました。
680 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 13:46:16 ] 注:str.java の操作は、未チェックまたは安全ではありません。 注:詳細については、-Xlint:unchecked オプションを指定して再コンパイルしてください というエラーがコンパイルすると出るんですがなぜですか? 同じものを学校のPCでやってもでなかったのに
681 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 14:13:45 ] >>680 javac -source 1.4 str.java ってやってみ? 学校のコンパイラのバージョンは古いからエラーが出なかったんだ。
682 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 14:25:36 ] >>681 できました! ありがとうございます
683 名前:デフォルトの名無しさん [2007/05/19(土) 19:24:25 ] ha= buf.readLine(); switch (ha.charAt(0)){ case'+': kg=1; case'-': kg=2; case'*': kg=3; case'/': kg=4; } の部分に Exception in thread "main" java.lang.NumberFormatException: For input string: "+" at java.lang.NumberFormatException.forInputString(Unknown Source) at java.lang.Integer.parseInt(Unknown Source) at java.lang.Integer.parseInt(Unknown Source) at RinkouPractice4.main(RinkouPractice4.java:22) ってエラーが出てコンパイルできるが実行できないんですが原因を教えてください
684 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 19:40:43 ] >>683 とりあえずエラーが発生してる場所が違うな。 >at java.lang.Integer.parseInt(Unknown Source) >at RinkouPractice4.main(RinkouPractice4.java:22) まぁこれ見る限りreadLine()してきたデータそのままparseInt()に渡してるんだろうな
685 名前:デフォルトの名無しさん [2007/05/19(土) 20:41:46 ] public static void main(String[] args)throws IOException { BufferedReader buf = new BufferedReader(new InputStreamReader(System.in)); //標準入力の準備 String ha,s1,s2,b1,b2; int kg; int si1,si2,bo1,bo2; System.out.println("数値を入力"); //ユーザに入力を促す s1=buf.readLine(); b1=buf.readLine(); si1 = Integer.parseInt(s1); bo1 = Integer.parseInt(b1); ha= buf.readLine(); s2=buf.readLine(); b2=buf.readLine(); si2 = Integer.parseInt(s2); bo2 = Integer.parseInt(b2); Kazu v1 = new Kazu(si1,bo1); Kazu v2 = new Kazu(si2,bo2); // Hantei h = new Hantei(); // kg = h.opr(ha.charAt(0)); kg=0; switch (ha.charAt(0)){ case'+': kg=1; case'-': kg=2; case'*': kg=3; case'/': kg=4; } なぜエラーが出るんですか?
686 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 21:17:08 ] RinkouPractice4.javaの22行目どうなってる? mainメソッドから数えて22行目じゃなくてファイルの頭から数えて22行目。 >si1 = Integer.parseInt(s1); >bo1 = Integer.parseInt(b1); >si2 = Integer.parseInt(s2); >bo2 = Integer.parseInt(b2); どれかのはずだけど… んで、なんでエラーになるかというと、parseIntメソッドの仕様だから >文字列の引数を符号付き 10 進数の整数型として構文解析します。 >文字列にある文字はすべて、10 進数でなければなりません。ただし、 > 1 番目の文字だけは、負の値を表すためにマイナス記号の ASCII 文字 >「-」(「\u002d」) であってもかまいません。 これに”+”付の数字渡せば >Exception in thread "main" java.lang.NumberFormatException: For input string: "+" となる、と。 入力データのチェック入れれば回避できるんでない?
687 名前:デフォルトの名無しさん [2007/05/19(土) 21:41:49 ] 20 s1=buf.readLine(); 21 b1=buf.readLine(); 22 si1 = Integer.parseInt(s1); 23 bo1 = Integer.parseInt(b1); 24 ha= buf.readLine(); 25 s2=buf.readLine(); 26 b2=buf.readLine(); 27 si2 = Integer.parseInt(s2); 28 bo2 = Integer.parseInt(b2); 29 30 Kazu v1 = new Kazu(si1,bo1); 31 Kazu v2 = new Kazu(si2,bo2); こうなってますが具体的にはどうすればよいのでしょうか?
688 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 23:01:22 ] >>680-682 Generic使えよ
689 名前:デフォルトの名無しさん [2007/05/19(土) 23:53:00 ] 入力データのチェックって何ですか? まだ出来ないんですが誰か助けてください
690 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 00:14:34 ] J2EEのライブラリを書くときにServlet APIのインタフェースライブラリだけが欲しいんですが これってTomcatとかから借りてきてそのまま配布してもいいんですか?
691 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 00:30:24 ] >>689 readLineメソッドで読み込んだ文字列(変数ha以外)が数字又は一文字目が"-"以外だったら エラー処理を行う(再入力させるもよし、Exception投げるもよし、問答無用でプログラム終了でも…) 要するにInteger#parseIntがちゃんと処理できる値が入力されていることを保証してやる ユーザが作り手の意図した通りの入力してくれるとは限らないから入力チェックは必須。
692 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 00:59:45 ] int readInt() throws EOFException { while(true) { String str = buf.readLine(); if(str == null) { throw new EOFException(); } try { return Integer.parseInt(str); } catch(NumberFormatException e) { System.out.println("残念、もう一度"); } } }
693 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 02:11:35 ] >>688 残念ながら1.4が本当のターゲットらしいんでgenericsを使っちゃコンパイルできなくなる。 別の所でそれより新しいバージョンでコンパイルして警告を出されて焦ったようだ。
694 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 04:08:12 ] >>693 つ -source 1.5 -target jsr14
695 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 04:13:02 ] WindowsでもLinuxでも動作する USBポートに対する入出力を行うライブラリでオススメ教えてください
696 名前:デフォルトの名無しさん [2007/05/20(日) 04:23:35 ] 整数を任意に入力していき、0を入力したら最大値は何番目にでてきたか出力する プログラムですが、たとえば 0>10 1>11 2>0 と入力すると、本来 1 と出力されてほしいのに、 1 1 と出力されてしまいます。 どこがおかしいのかご教授くださいmm
697 名前:697 [2007/05/20(日) 04:26:12 ] import java.io.*; public class enshu41b { public static void main(String[] args) throws Exception { BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); int[] a = new int[100]; int count = 0; while(count < a.length) { System.out.print(count + "> "); int v = (new Integer(in.readLine())).intValue(); if(v == 0) { break; } a[count] = v; ++count; } int max = a[0]; int[] mn = new int[100]; mn[0] = 0; int count2 = 0; for(int i = 1; i < count; ++i) { if( a[i] > max ) { max = a[i]; count2 = 0; mn[count2] = i; } if( a[i] == max ) { ++count2; mn[count2] = i; } } for(int i = 0; i <= count2; ++i) { System.out.println(mn[i]); } } }
698 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 06:03:42 ] >>695 jUSBを自分でwindowsに対応させる。
699 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 06:26:32 ] >>694 これ便利だな はたからthx
700 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 07:25:48 ] >>696 境界条件を頭の中でシミュレート。わかんねーならトレース実行でもしろ。
701 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 08:35:25 ] >>694 1.4でコンパイルするのが目的で1.5以上のコンパイラの機能は使えない 1.4の実行環境をターゲットにして1.5以上でコンパイルするんじゃないから 1.4のコンパイラしかない環境でコンパイルするにはそのオプションは空しい
702 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 11:17:59 ] ObjectInputStreamのreadObject()でファイルを最後まで読みたいんですがどうもうまくいきません。 whileのところが今のままではjava.lang.Object と int は比較できません。というエラーがでます。 どなたか教えてください。 /**************** ファイルから入力 *****************/ List messages = new ArrayList(); try{ ObjectInputStream ois = new ObjectInputStream( new FileInputStream( file ) ); Object obj; // ファイルの終端に達するまで読み込む while( ( obj = ois.readObject() ) != -1 ){ Map map = (Map) obj; messages.add( map ); } if( ois != null ) ois.close(); } catch( Exception ex ){ ex.printStackTrace(); } finally{ System.out.println( "end input" ); }
703 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 11:20:04 ] whileの中の-1ってなんだ? 説明できるか?
704 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 11:24:28 ] とりあえずclose()する前にflush()しとけ
705 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 11:28:07 ] 教える側も素人かよ^^; >>702 とりあえずJavaDoc嫁。EOFを返すなどと何処に書いてある? 2chを辞書代わりに使うな、むしろ時間の無駄と分かるぞ。
706 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 11:31:41 ] ObjectInputStreamのAPIドキュメントに >>バイト単位の読み込みでは、バイトが読み込まれたときに -1 が返されます。プリミティブ読み込みでは、EOFException がスローされます。 こういうこと書いてたので-1が返るのかなと思ってました。 それじゃもっとよんでみます
707 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 11:39:57 ] ああreadObjectはバイト単位でもプリミティブ単位でもないのかごめん
708 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 11:43:36 ] >>700 どうしてそんな偉そうなんだ?
709 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 11:49:22 ] >>708 逆ギレかよ、わかんねーならそれなりの態度があるだろうに
710 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 13:45:50 ] 2ch向いてねえな
711 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 16:04:19 ] 無職乙
712 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 17:22:35 ] 年数を入力して、うるう年と一般の年を判別後、月を入力して、 その月が何日あるかについてのプログラムを組んでみたのですが、 コンパイル問題が未解決です。 構文エラーがあります。"}" を挿入して MethodBody を完了してください。 構文エラーがあります。"}" を挿入して ClassBody を完了してください。 と出て実行できません。 最後の『 } 』の数は合っていると思うのですが、何故エラーが出ているのでしょうか?
713 名前:712 mailto:sage [2007/05/20(日) 17:23:51 ] public static void main(String[] args) { BufferedReader reader=new BufferedReader(new InputStreamReader(System.in)); try { System.out.println("今は何年ですか?"); String line=reader.readLine(); int year=Integer.parseInt(line); if(year%4==0) { System.out.println(year +"年ですね。"); System.out.println("今月は何月ですか?"); line=reader.readLine(); int month=Integer.parseInt(line); if(month==2){ System.out.println("2月の日数は28日です"); }else if(month==4 || month==6 || month==9 || month==11){ System.out.println(month +"月の日数は30日です"); }else if(month==1 || month==3 || month==5 || month==7 || month==8 || month==10 || month==12){ System.out.println(month +"月の日数は31日です"); }else{ System.out.println("月数の範囲を超えています");} }
714 名前:712 mailto:sage [2007/05/20(日) 17:24:33 ] else if(year%4!=0) { System.out.println(year +"年ですね。うるう年です。"); System.out.println("今月は何月ですか?"); line=reader.readLine(); int month2=Integer.parseInt(line); if(month2==2){ System.out.println("2月の日数は29日です"); }else if(month2==4 || month2==6 || month2==9 || month2==11){ System.out.println(month2 +"月の日数は30日です"); }else if(month2==1 || month2==3 || month2==5 || month2==7 || month2==8 || month2==10 || month2==12){ System.out.println(month2 +"月の日数は31日です"); }else{ System.out.println("月数の範囲を超えています");} } }catch(IOException e){ System.out.println(e); }catch(NumberFormatException e){ System.out.println("月に入力できる数は1〜12の実数です");} } } }
715 名前:712 mailto:sage [2007/05/20(日) 17:26:50 ] 開発環境はEclipsです
716 名前:712 mailto:sage [2007/05/20(日) 17:58:54 ] あれ?なんだかよく分からないうちに自己解決しました。 何が問題だったんだろう……
717 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 19:23:19 ] つ保存していない つ余計な括弧がある つ右クリック ⇒ ソース ⇒ フォーマット
718 名前:デフォルトの名無しさん [2007/05/20(日) 19:32:20 ] 宿題があるんですけど教えてください。
719 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 19:36:31 ] >>718 スレ違い ★★ Java の宿題ここで答えます Part 61 ★★ pc11.2ch.net/test/read.cgi/tech/1179168569/
720 名前:デフォルトの名無しさん [2007/05/20(日) 22:51:05 ] スタンドアロンプログラムをWindows上で動かし、 フォルダを指定しエクスプローラを開く、 といった処理をしたいんですが、なかなか情報が見つかりません。 なにか良い方法があれば教えてください。 ちなみにGUIはSWTを使用し作成しています。
721 名前:デフォルトの名無しさん [2007/05/20(日) 23:25:16 ] >>720 質問が良くわからないんだけどSWTでエクスプローラーを作ったって事? 他にGUIが見当たらないんだが・・・。
722 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 23:42:14 ] >>720 Runtime.exec(String command) どう開くかは適当に。 cmd /c start ...... とか support.microsoft.com/kb/152457/ja?FR=1&PA=1&SD=HSCH とか ところで >>603-608 のながれと関係あるの?
723 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 23:52:30 ] javaやってる人ってオブジェクトとインスタンスって混ざって言ってるような きがする、なんか違いあるの?
724 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 01:32:36 ] クラス + インスタンス = オブジェクト
725 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 06:13:54 ] オブジェクトという名前の基底クラスがあるから紛らわしい
726 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 11:47:38 ] テキストファイルの内容の一部だけ削除したいんですけど 一回全部よみこむ→該当部分削除→書込み直す っていう方法は思いついたんですけど、 効率悪い気がするんですが、ほかにいい方法ってないですか?
727 名前:デフォルトの名無しさん [2007/05/21(月) 12:08:54 ] ResultSet型のオブジェクトに代入されている結果セットのレコード数を知りたいんですが、何かいいメソッドって用意されていますか?
728 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 12:19:33 ] いまこのページ(↓)を読んでパッケージについて勉強してました。 ttp://www.ytp.ne.jp/tech/java/sineruka/classpathhowto.html このページで言うところの C:\Source\Java\test\HelloWorld2.class に対して C:\Source\Java\test>java HelloWorld2 と実行するのと C:\Source\Java\test>java test.HelloWorld2 と実行するので結果に差がある(前者はエラーになる)ことは確認しましたが、 いまいち納得ができません。 ディレクトリ直下のHelloWorld2.classを直接指定するのと CLASSPATHの下の\test\HelloWorld2.javaを指定するのとで 何が変わってくるのでしょうか?
729 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 13:04:27 ] >>728 javaコマンドの引数に指定するのは、ファイル名ではなく パッケージ名を含むクラス名(FQCN:完全修飾クラス名)であることに注意。 ”java HelloWorld2”のコマンドは、 HelloWorld2.classを参照するよう指定しているのではなく、 クラスパスからHelloWorld2というFQCNのクラスを見つけて、 それを実行するよう指定している。 この場合、HelloWorld2のFQCNはtest.HelloWorld2なので、 該当するクラスがクラスパスにないためNoClassDefFoundErrorになる。
730 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 13:13:53 ] >>728 補足。パッケージ名はclassファイル自体に埋め込まれるので、 HelloWorld2.classをC:\Source\javaに移動しても、 HelloWorld2のパッケージを移動したことにはならない。
731 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 13:53:20 ] >>727 おまえはおれか
732 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 14:25:56 ] まず訂正を。自分の書き込みを見てびっくりしたのですが、 >ディレクトリ直下のHelloWorld2.classを直接指定するのと >CLASSPATHの下の\test\HelloWorld2.javaを指定するのとで の2行目は\test\HelloWorld2.classのミスタイプです。 >>729 回答ありがとうございます。 .classファイルを探すのではなく、FQCNでクラスを探しに行くから test.HelloWorld2は存在するけれどHelloWorld2なんていう物は 存在しないという事ですね。 >パッケージ名はclassファイル自体に埋め込まれるので、 >HelloWorld2.classをC:\Source\javaに移動しても、 >HelloWorld2のパッケージを移動したことにはならない。 これについてですが、試しにソースはいじらずに.javaファイルを C:\Source\Javaへ移動し、Message→HelloWorld2の順にコンパイルしたところ、 Messageはコンパイルできたものの、HelloWorld2はパッケージotamesiが 見つけられずにコンパイルできませんでした。 また、普通にコンパイルしたHelloWorld2.classをC:\Source\Javaに移動して java test.HelloWorld2 してみたら Exception in thread "main" java.lang.NoClassDefFoundError: test/HelloWorld2 が出てしまいました。 「パッケージを移動したことにはならない」というのは 「単純にフォルダ移動してもパッケージ情報(?)は変わらないから パッケージと同名のフォルダに入れておかなければならない」 という意味でしょうか?
733 名前:728 mailto:sage [2007/05/21(月) 14:28:00 ] 名前入れ忘れ。。。 >>732 は>>728 です。
734 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 14:53:29 ] >>732 そういう意味でおk
735 名前:デフォルトの名無しさん [2007/05/21(月) 15:33:15 ] >>731 結局API読みまくった結果、ResultSetを直でいじくりまわすのはやめて、 内部クラス作ってそれのpublic変数に結果セットの最終行までResultSet.getStringしてって ArrayListのオブジェクトにつっこんでArrayListのオブジェクト.size()しました。 配列のサイズきめたくて結果セットの行数しりたかったんですけど、配列作るよりArrayListつかったほうが何かすっきりしました
736 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 17:14:08 ] >>732 合ってるがもっと単純明解な前提条件があるぞ。 フォルダの移動はOSのオペレーション、パッケージの指定はjavaの仕様。 根本的、本質的にもこの二つはまったくの別物。 くっつけて考えてしまうならそこが"間違えて分からなくなってる"部分だ。 まずは問題の切り離しからだな。
737 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 17:52:51 ] ネットワーク越し(現在使用しているのはRMI)にIterator的なオブジェクトを 渡して受け取り側が辿れるようにするには、各メソッド内で通信するよう自前で作るしかないのでしょうか。
738 名前:デフォルトの名無しさん [2007/05/21(月) 22:04:02 ] Byte a[]={0,0,0,1}; をa[0]〜a[3]のバイト列をもつint型に変換する方法教えてください。
739 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 22:11:55 ] a[0]<<24|a[1]<<16|a[2]<<8|a[3]
740 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 22:24:35 ] すまんすまん a[0]<<24|a[1]<<16&0xff0000|a[2]<<8&0xff00|a[3]&0xff こうだ
741 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 22:36:31 ] >>738 new DataInputStream(new java.io.ByteArrayInputStream(a)).readInt(); java.nio.ByteBuffer.wrap(a).getInt();
742 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 22:58:25 ] >>727 適当なトランザクションレベルで select count(適当なカラム) from テーブル という SQL を発行すればいいよ。リソースを消費を気にしないなら count(*) でも可。
743 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 23:10:41 ] >>735 対策まで一緒だな おまえはおれか
744 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 23:13:21 ] >>737 質問の意図が良く分からんけど org.JSON とか使うと解決するかもね
745 名前:デフォルトの名無しさん [2007/05/22(火) 00:55:41 ] サーブレットでsubmitやセッションしたりしないでその画面のままテキストフォームから入力された値を取る方法ってありますか?
746 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 01:14:01 ] セッション関係無くね?
747 名前:720 [2007/05/22(火) 01:24:15 ] ご回答してくれた方ありがとうございました。 >>721 自分で作ったGUIからWindowsのエクスプローラを呼ぶには? という質問でした。 結局JNI経由でWINAPIのShellExecuteを呼び出す形式で解決しました。 Webしかやったことない自分としては GUIは妙に難しく感じます^^
748 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 01:25:57 ] JavaScriptを使えばいい フォームの入力チェックにも使われている あー仕事がほしいー
749 名前:720 [2007/05/22(火) 01:29:44 ] >>745 Submitしないという時点でクライアント側の処理になります。 サーブレットでの処理は無理です。 Javascriptが一番手っ取り早いのでは?
750 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 01:46:17 ] >>745 言葉が意味わからんがsubmitなしではservletに渡すことは普通は無理 XMLHttpRequestを使えばできる(ブラウザー依存) いわゆるAJAXだな
751 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 02:49:06 ] >>745 Ajax GWT