[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 04/11 16:27 / Filesize : 251 KB / Number-of Response : 860
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【初心者】Java質問・相談スレッド99【大歓迎】



1 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 01:35:28 ]
過去ログ、関連スレッド、よくある質問とその回答、
質問をする前に、貴方が見なければならないサイトについての情報は、
下の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質問・相談スレッド98【大歓迎】
pc11.2ch.net/test/read.cgi/tech/1171787388/

/* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。
質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */
また、当スレで質問をするかたは、回答をもらえたときに、
wikiの更新をして頂ければ、忝なく存じます。

JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作板をご利用ください。pc10.2ch.net/hp/

次スレは>>980あたりで。

751 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 17:05:39 ]
>>749
>>746は簡単に実装できる方法を求めてるから速度は二の次なんじゃないかね?
そういう意味でAPI使ってハッシュを求めさせるのはコーディングが簡単だし悪くない方法だと思う。
でも、コリジョンの可能性があるから、同一ハッシュ=同一バイナリとは言い切れないのが問題。

752 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 17:14:11 ]
>>750
お前、馬鹿だろ。

>>751
ハッシュ求めるより順次比較のほうが簡単じゃないか?

753 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 17:23:44 ]
あらかじめ MD5ハッシュが算出してあれば、それ比較してもいいけどね。

754 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 17:27:46 ]
>>751
無駄な上に不確実で最悪な方法だと思うが。

755 名前:デフォルトの名無しさん [2007/03/25(日) 17:28:33 ]
質問主は誰かもう作ってるんじゃないか?
っていう質問してるのにお前等ときたら…

756 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 17:41:56 ]
ハッシュ算出してあるときの話じゃない。
ハッシュを算出するには算出する範囲のビットを全部見る必要がある。
それなら見た時点でお互いを比較すれば済む話。


757 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 17:50:16 ]
>>755
commons IO の org.apache.commons.io.IOUtils.contentEquals(InputStream,InputStream)

758 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 17:57:35 ]
これでいいじゃん。MessageDigestも使ってるし、みんなはっぴー。
標準APIじゃなくていいのならapache.commonsにあったと思うが。
public static void main(String[] args) throws Exception {
File file1 = new File(args[0]);
File file2 = new File(args[1]);
boolean flag = true;
if (file1.length() == file2.length()) {
FileInputStream in1 = new FileInputStream(file1);
FileInputStream in2 = new FileInputStream(file2);
byte[] buf1 = new byte[1024];
byte[] buf2 = new byte[1024];
while (in1.read(buf1) >= 0) {
in2.read(buf2);
if (! MessageDigest.isEqual(buf1, buf2)) {
flag = false;
break;
}
}
in1.close();
in2.close();
} else flag = false;
System.out.println(flag);
}


759 名前:758 mailto:sage [2007/03/25(日) 18:00:02 ]
書かれてたorz



760 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 18:02:56 ]
>>758
一致しないときもストリームをcloseした方が綺麗

761 名前:758 mailto:sage [2007/03/25(日) 18:05:47 ]
ん?閉じてると思うけど?まあ途中で例外出たらだめだけど。

762 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 18:11:49 ]
>>761
すまんwhileの外だった
}の数を見誤った
でもそれはMessageDigestを使ってるといえるのかw

763 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 18:37:18 ]
ハッシュ(MD5)は予めそれがわかっている場合やそれを保存しておいて
後から再利用するってことならまだ分るんだが、そんな前提もなしに
ハッシュを勧める莫迦がなんでこんなにいるんだ?

764 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 22:06:41 ]
Stringクラスの説明で
「文字列は定数です。この値を作成したあとに変更はできません。」
ってあるんですけど、

String str = new String("123456789");
str = "1";

こんなふうにあとから代入しても、コンパイルエラーも出ず、代入した文字列が表示されるんですけど
変更できないってどういう意味なんですかね?

765 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 22:14:57 ]
>>764
"abcde"="12345"
ってできないってことだ
1=3と同じ

766 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 22:19:50 ]
>>764
それは、変数の参照先オブジェクトが入れ替わっただけ。
"123456789"で初期化したオブジェクトそのものの内容は変更できない。

767 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 22:54:13 ]
>>764

str → "123456789"

だったのが

    "123456789"

str → "1"

になるってこと。元のインスタンスは破壊されない(参照が無くなればガベコレはされるけど

768 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 23:15:47 ]
HttpURLConnectionでHTMLソースをUTF-8でゲットしてくる際に
文字化けしてるかどうか判定する事ってできますか?


769 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 23:29:55 ]
>>763
> ハッシュ(MD5)は予めそれがわかっている場合やそれを保存しておいて
> 後から再利用するってこと
だとしても分かっちゃだめだろ。ファイルが一致することの証左にはならん。



770 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 00:07:21 ]
ネットでダウンロードするときに付属してることのあるハッシュコードは
飽くまでパリティチェック的な意味合いでしか使われてないと思う

771 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 01:31:26 ]
>>768
httpのヘッダ見れば良いんじゃね?

772 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 01:47:51 ]
Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version n
umber in .class file
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
続行するには何かキーを押してください . . .

知り合いに聞いたところjavaとjavacのverをあわせれば良いといわれたんですが
よくわからない・・誰かたのんます!

773 名前:764 mailto:sage [2007/03/26(月) 01:58:19 ]
回答ありがとうございます。理解できました。
String型の疑問がまだあるんですが、よければ回答お願いします。

メソッドに引数として参照型を与えて、その値を変更すると、int等の基本データ型とちがって
参照先の値が変更されますよね。
そこでメソッドの引数をString型にして、値を変更しても、参照変数が指しているオブジェクトは
変わらないんですが、これは値渡しみたいな事が行われてるんですかね?
それともまだ何か勘違いしているんでしょうか

static void method( String str ){
str = "java";
}
main{
String str = new String("123456789");
method( str );
System.out.println( str );//123....が表示される
}

説明下手だったらすいません。

774 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 02:08:03 ]
JavaはCと同じくすべて値渡しだ。
参照型であろうとC++のような参照渡しはないので
変数の「指し先」が関数呼び出しで変化することはない。
当然「指し先の内容」が変化することはありえる。

775 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 09:35:53 ]
カエレ!

776 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 09:42:26 ]
>>774
ネタで言ってるんだよな?

777 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 09:59:07 ]
Javaはすべて値渡し。これはもはや常識!

778 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 10:41:15 ]
参照を値渡しする、と言わないと分からない人は一生分かりませんよ。


779 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 10:47:12 ]
参照を値渡しするのとは違うだろ
Javaはこの辺りが変



780 名前:デフォルトの名無しさん [2007/03/26(月) 10:53:44 ]
コネクションプーリング使うにはネット使わないといけないのね。orz
コネクションプールができなくて、3日も鬱になったジャマイカ。

781 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 11:12:57 ]
じゃばでぱけっとのもにたりんぐはできますか?

782 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 11:28:53 ]
>>779
どう違ってどう変なのか説明plz

783 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 11:34:34 ]
C++の参照もあれはあれで参照を狭い意味で使ってるから、
あれしか知らないで参照を語られても困るよな。


784 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 12:05:48 ]
>>773
> str = "java";
その例だと参照型の値を変更してるのではなくて、
参照先そのものを変更してる。

// 甲
static void method(Calendar c){
 c.add(....);
}

// 乙
static void method(Calendar c){
 c = Calendar.getInstance();
 c.add(....);
}

甲を呼び出した場合、呼び出し元の c は値が変更されてるが
乙を呼び出した場合、呼び出し元の c は値が変更されない。
乙内で参照される c は新たに別の Calendar オブジェクトを参照してるため、
呼び出し元の c に影響を与えないから。
あなたの例は乙に近い。

なお、String には Calendar の add に相当するような、内部の状態を変更するメソッドはない。
(あると不変オブジェクトではなくなってしまう。)
replace も substring も、返り値として String を返す。
元の String を参照しても、replace、substring される前の値と全く変化ない。

785 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 12:11:28 ]
>>783

C++でオブジェクトA,Bに関して
A=Bとやると痛い目にあう、それは動的アドレスのコピーであるから(純粋な参照)。
JAVAの場合はポインタの概念は無い。
JAVAの場合、A=Bはオブジェクトの代入を示す。
非常に荒っぽい言い方だと、JAVAのソースではオブジェクトの代入はstrcpy、すなはち代入。
だが、JAVAの場合、参照先の値を変えてやると参照元の値も自動的に変わってくれるという、
Cの参照とも純粋な値渡しともつかない擬似参照になる。
おそらく参照元が値を使用する時、毎回値渡しを使用してるのか。
JAVAの参照は便利だがあやふやではある。

786 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 12:13:25 ]
訂正
非常に荒っぽい言い方だと、JAVAのソースではオブジェクトの
参照は
~~~~~
strcpy、すなはち代入。


787 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 13:50:09 ]
>>773
>new String("123456789")

関係ないけど"123456789"自体がString型のインスタンスだからそれは冗長
というかなんで不変オブジェクトにコピーコンストラクタがあるのか謎なんだけどたぶん設計ミスだな

788 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 14:14:05 ]
>>785
> オブジェクトの代入はstrcpy
え?

789 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 14:21:00 ]
少し前のレスくらい読めよ・・・



790 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 14:26:30 ]
とっても初心者なのですが
戻り値の意味がわかりません
return文とか適当に使っていたもので…

791 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 14:42:42 ]
>>789
わからない。代入がstrcpyてどこ読めば理解できる?

792 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 14:43:22 ]
ああ、代入じゃなくて参照てことか。
どっちみちわからん。

793 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 15:01:00 ]
>>787
new で明示した場合は文字列リテラルが同内容でも共有されなくなる。
結局JITで最適化される気がするけど・・・

お前ら丁度いいとこ見つけたからここ嫁!
ttp://javafaq.jp/S008.html

ちなみにJavascriptの文字列リテラルにメソッド適応した場合インタプリタが内部で文字列リテラルをStringオブジュクトにラップして捨てる。

つまり、javaと違って文字列リテラルとStringオブジェクトは違う。javaのStringBufferの感覚だ。
ていうかプリミティブ型の単純値は全部Object型のラッパー持ってる。

名前が似てるけど別物って良い例。
ttp://developer.mozilla.org/ja/docs/Core_JavaScript_1.5_Guide:Predefined_Core_Objects:String_Object


794 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 16:53:39 ]
>>784
丁寧な説明ありがとうございました。
メソッド内で新しいオブジェクトへの参照が変数に代入されているので
呼び出し元では元のオブジェクトを指しているままなんですね。

795 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 17:20:55 ]
>>794
そういうことです。

Stringだけなんとなく特別な印象を受けてしまいがちだけど、
"=" の意味は他の参照型(Object派生型、配列)と変わりません。

796 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 18:41:46 ]
>>785
参照先の値を変えたら参照元の値を自動的に変えるって・・・本気で言ってんのか?w
Javaにポインタが無いって言葉に騙されてるとしか思えない。

797 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 19:29:14 ]
Java の参照は C/C++ のポインタそのものじゃなかろうか。
ポインタ演算を隠してるだけで。

C++の参照(type&)は言語仕様的には別名(alias)と同義で、
内部実装は制約のある参照的なことやってます、だったような。

798 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 19:36:23 ]
たった今始めたばかりの初心者です。

ビルドをしたら、「環境変数JDK_HOMEにJDKをインストールしたディレクトリを設定してくだい」と表示されました。
なので、変数を「JDK_HOME」、値を「C:\Program Files\Java\jdk1.5.0_11」にしたのですが、また同じことが表示されます。
どうしたらいいですか?

799 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 19:47:17 ]
オブジェクトの渡し方で混乱している奴も多いだろうから、簡単な例を挙げとく。
コピーコンストラクタが正しく定義されていると仮定してくれ。

// C++の値渡し。交換できない。
void swap(Hoge x, Hoge y) {
Hoge temp = x; x = y; y = temp;
}

// C++のアドレス渡し。交換できる。
void swap(Hoge* x, Hoge* y) {
Hoge temp = *x; *x = *y; *y = temp;
}

// Cの参照渡し。交換できる。
void swap(Hoge& x, Hoge& y) {
Hoge temp = x; x = y; y = temp;
}

// Javaの『参照の値渡し』。交換できない。
public static void swap(Hoge x, Hoge y) {
Hoge temp = x; x = y; y = temp;
}



800 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 19:48:24 ]
>>798
開発環境を示さないと何とも言えない。
システム環境変数のJDK_HOMEをJDKディレクトリに設定したのか、
それともIDEの環境変数をJDKディレクトリに設定したのか
いくらでも解釈できるから

801 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 22:18:39 ]
>>800
あれ?もう1回やったらなぜかできました。
ありがとうございました。

802 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 22:27:25 ]
こらこら。
システム環境変数を書き換えたら、IDE(またはコマンドライン)は立ち上げ直さないと駄目だぞ。

803 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 22:59:46 ]
>>783
C++における参照の意味は狭いかもしれないけど
値渡し、参照渡しの意味はどの言語でも同じ。
本当の参照渡しを体験したかったらFortranをやるといいだろう。

804 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 23:04:48 ]
JavaでPCに送られてくるパケットをフィルタリングすることは可能でしょうか?
可能だったら、役に立ちそうなクラスなんかも教えていただけるとありがたいです。

805 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 23:12:07 ]
>>804
標準APIだけじゃ無理。
パケットキャプチャじゃなくて、パケットフィルタリングなのか。
それだと jpcap みたいな外部ライブラリ使っても無理のような。

806 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 23:14:50 ]
>>799
それJavaにアドレスの中身を指示する演算子が無いだけちゃうんかと
たとえばx.valueとかを交換すれば交換できるだろ

807 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 23:31:36 ]
>>806
値の交換とオブジェクトそのものの交換は違うだろう。

808 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 23:36:06 ]
>>807
そこが本質じゃないって。
JAVAの場合、オブジェクトはアドレスしか指せない。プリミティブは値しか指せない。
Cは中身もアドレスも指定できる。だからオブジェクトの交換という荒業が出来る。

809 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 23:43:12 ]
>>799
> // C++のアドレス渡し。交換できる。
これで交換できるってんなら、

static void swap(Object[] x, Object[] y){ Object temp = x[0]; x[0] = y[0]; y[0] = temp; }

とかすれば交換できるって話になっちまうんだが。
「アドレス渡し」とやらは Hoge* 自体の交換ができてないんだから交換できない、とした方が説明が楽。



810 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 23:44:45 ]
質問者の意図とずれた話を続ける事に意味があるのかと問いたい。

811 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 23:46:45 ]
>>809
参照渡し/値渡しの説明の文脈では、な。

812 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 23:56:53 ]
一般的にはパラメータへの再代入は無意味と覚えときゃいいよ。
なんなら全部のパラメータにfinalをつけてもいいくらい。(Javaのfinalは再代入不可を明示するシンボル。念のため。)
コンパイルエラーが出ないのは、互換性のためだろうけど……

813 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 00:07:25 ]
参照渡し/値渡しに関しては
間違ったことを書いているサイトが少なくないな。
2chでは、本は買うな、Webで十分だ、みたいな意見がよく出るけど
それも考え物だな。

814 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 00:11:06 ]
>>813
俺は実際にプログラミングやっててわかったけどな。
つうか本は参考程度にしか買わないしポインタ関連なんて一冊も買ってない

815 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 00:11:51 ]
>>812
>一般的にはパラメータへの再代入は無意味と覚えときゃいいよ。

呼び出し側では意味がないけど、呼び出された側では意味があるんじゃ?

816 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 00:12:50 ]
>>809
> static void swap(Object[] x, Object[] y){ Object temp = x[0]; x[0] = y[0]; y[0] = temp; }
まかり間違って こーゆーのが普及したりなんかすると
「配列渡し」っていう新語ができるわけだな。たぶん。

817 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 00:16:44 ]
「プログラミングやった」程度で理解した気になる奴ばかりだから、
今までバラバラな見解の悲惨なレスが繰り返されてたんだろ…
利用できるのと仕組みをおさえるのは違う

818 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 00:17:30 ]
>>815
意味はあるけど可読性を下げるから推奨しないな

>>816
むしろコンテナ渡しかと

819 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 00:46:03 ]
>>808
なんで本質じゃないんだよw
オブジェクトの中身を書き換えるんじゃなくてポインタ交換ができる/できないの話だよね?



820 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 00:49:13 ]
なんで言語の仕組みに関してこんな大議論になってんの?
質問している初心者ならまだしも、回答者側の人間は
信頼できるソースを自分で確認して終わりだろ?
まさか皆が皆
>俺は実際にプログラミングやっててわかったけどな。
とか言っている馬鹿と同じなのか?

821 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 00:58:19 ]
よくわからないところは俺様解釈で乗り切って
他人にも押し通す、これがJava厨。
こういうテキトーな態度でもなんとなく扱えてしまう言語、それがJava。

822 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 01:10:38 ]
>>813
雑誌の記事で Java は参照型は参照渡し…… とか書いてあるの、結構見たような。

823 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 01:32:16 ]
core JAVAには、
Javaは参照渡しだとかほざいちゃってる著者が
未だに地球上に存在していてウザイ早く氏ね
って書いてある

824 名前:デフォルトの名無しさん [2007/03/27(火) 02:07:04 ]
3人の死刑囚がいます
王様は3人の死刑囚に言いました
「ここに白い帽子3つと黒い帽子が2ある、白か黒どちらかをお前たちにかぶせ
白い帽子をかぶったものが逃げたらそのまま逃がしてやろう、ただし黒い帽子をかぶった
ものが逃げたらその場で射殺する」
死刑囚は自分がなに色の帽子をかぶっているかはわかりませんが
他の二人がかぶっている帽子の色はわかります
王様は3人とも白い帽子をかぶせました
3人はしばらく考えた後、自分が白だと確信していっせいに逃げました
さて、なぜ自分が白だと確信できたのでしょう?
※アイコンタクトとかそういう答えじゃない

825 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 02:17:29 ]
全員植草教授だった

826 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 03:10:40 ]
>>824
A, B, C の3人の一人Aはこう考える:

(1)自分Aが黒だったとしよう。

(2)B,Cはそれぞれ、黒(A)と白(BまたはC)を見るはずだ。
 そこで彼らはこう考えるはずだ:
   もし自分B(またはC)が黒だったら、黒は2つしかないのだから、
   相手C(またはB)は一人で速攻で逃げるに違いない。
   そうではないので、自分は白である。

(3)そこまで考えの至ったBおよびCの二人は自分Aを置いて一斉に逃げるはずだ。

(4)そうではないので、最初の仮定(1)が間違っていて、自分は白である。

そこまで考えの至った3人は一斉に逃げた。

827 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 03:16:14 ]
わざわざこのスレに投下したのは
プログラマに論理的に考えさせようとしたのか。
それなら俺はあえて逆をいく。

 どうせいずれ死刑になるんだからここで射殺されたところで大差ない。
 だからいちかばちかで逃げ出してみた

でも、これだと「自分が白だと確信して」を満たさないか・・・

828 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 03:22:22 ]
主人公がこんなところで死ぬはずないから、では

829 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 03:23:10 ]
王様が黒い帽子をふたつ手に持っていた。



830 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 03:25:22 ]
3人は日ごろの顧客とのやりとりにより
エスパー能力を鍛えられているプログラマーで、
なぜか、自分が白だということを、本能的に過信した。

831 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 03:38:37 ]
magcup便利でし。感動しマスタ

832 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 03:42:53 ]
死刑囚である3人全員がそこまで頭が切れるはずがない

833 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 03:51:12 ]
Aは>>826のように考察し逃げることとした。
Bは黒と白の帽子を前にどうしてよいかわからなかった。
Cは黒と白の帽子を前にどうしてよいかわからなかった。
Aが逃げ出したのでBはつれられ逃げ出した。
Aが逃げ出したのでCはつれられ逃げ出した。
Aは射殺された・・・

834 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 04:21:24 ]
>>772
まさに「javaとjavacのverをあわせれば良い」

解決策1

   % java -version
    でJREのバージョンを確認。
   % javac -version
    でJDKのバージョンを確認。

  JREと同じバージョンのJDKを入れてコンパイルしなおす。


解決策2
  javacのバージョンと同じバージョンのjavaをフルパス指定で明示的に呼ぶ。


835 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 04:25:29 ]
A=自分が白
B=他二人が白
P(A)=3/5
P(B)=(3/5)*(2/4)=3/10
P(A,B)=(3/5)*(2/4)*(1/3)=1/10
P(A|B)=P(A,B)/P(B)=(10/3)*P(A,B)=1/3
だから確率的には逃げたら負け

836 名前:デフォルトの名無しさん [2007/03/27(火) 08:10:09 ]
BufferedReaderのreadLineのブロックを解除したいのですが、どうしたらよいでしょうか

837 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 08:59:10 ]
初心者スレでくだらねえクイズごっこやって楽しいか?

838 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 11:43:27 ]
>>824
とりあえず最初にテストしろと言われてるので逃げ出すテストをしてみた

839 名前:804 mailto:sage [2007/03/27(火) 13:30:57 ]
>>805
外部ライブラリ使っても無理ですか……。
Javaでは難しい(というか無理)なんでしょうか?

同じことを2度聞くような形になりますが、どうしても諦めきれないので返答お願いします。



840 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 13:39:48 ]
>>839
JNI使って奮闘してくれ。

841 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 16:29:57 ]
;;;;彡                   ミ;;;;;;;;;;;;;;;ミ
;;;チ'  ィ''' ヽ、_         ___,,,,,、`ヾ、;;;;;;ヾ
〃 ./ア三三三三ヾ     タィ三三三ッ、 `y;;;;チ
  ~"  ,,=r≡ァ、 ..~      _,,二、 ̄ヾキ };;ネ
   ー''"` kオッ' ,ヾ';;;,    /,,ヒェア,≧ー" };;;ト
    '"  ー‐''" ,;;;;   ::'~ヾ…‐ ´~  {;ツ
        ...,,,;;;;;;;::   ::::...       キ::}
|       ,,' ,r"'、::::  __、      {|ィ/.        __
;      .:: :;!、_   | 支 |`ヾ、. . : : : レ'         | 力 | _ ,ィ=ヽ、 ,
'、     ..::    ̄`ー.__| 点.|_ ヽ.: :  リ        ._| 点 |_[_ `ヽ  ヾ、
 、     tェ--ニ二~_.\  /ァ  ッ /         \  /Y   l、    `
. i      `ヾ‐'ー'ーL_~≧≦二二二二二二二二二二二ナく__,ム    ヽ
  }   `、  ` 、 ̄ ¨ ¨ "ノ    '/            `ヽ、  `、y-‐ヾヽ´¨
 ,,〉    、    `ー = - '     /              ヾ、  ゞ、___人_
/ \ 、  :::.            /                ヽ、  ヾ ̄´ ̄
   \ :::::::::::....       ...::::リ}                  、  `
     \::::::::, `ー---- '::::::::/ .ト、                 ー _
      ¨\;:,,      /    | `ヽ、                 `ヾt、_
         \,,......,,,イ      ト、   `ヽ、‐―- - - 、、_      !t_

842 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 17:00:56 ]
java.io.File#listFiles()ではArrayListをFile[]に変換しているようですが
1.0にコレクションがなかったから互換性のためという解釈でよいでしょうか。

843 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 17:03:58 ]
>>840
了解です。ありがとうございました。

844 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 17:12:35 ]
>>842
どのように解釈しようが その人の勝手で良いと思われ。

845 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 17:13:17 ]
Vectorはあったので、そのつもりがあればVectorにしてたと思う。
配列使うのかコレクション使うのかは、統一とれてないねえ。
真っ当な総称型があるならコレクションで決まりだろうけど
erasureなんて導入して・・・アホか。

846 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 17:14:07 ]
>>845
Vector があっても、中身が File ってのを保証できないんだがな。1.4 までは。

847 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 17:16:07 ]
>>697
isExists()もつかうべき

848 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 17:17:06 ]
>>703
ja.wikipedia.org/wiki/Servlet

849 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 17:20:34 ]
なぜここに来てそんな遅レスを



850 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 18:34:00 ]
問1
パラメータから得た値をnとして、2のn乗を求めて表示してください。
nの上限は62として、63以上が入るとメッセージを表示するようにしてください。
int型だと2の30乗までになってしまいます。

って問題なんですけど

import java.io.*;
public class kadai13{
public static void main(String[]args)throws IOException{

@

int i=1;
long a=2;
while(i<myAnswer){
a*=2;
i++;
}
if(myAnswer<=62){
System.out.println("2の"+myAnswer+"乗は"+a+"です。");
}else if(myAnswer>=63){
System.out.println("2の2乗までしか計算できないよ。");
}
}
}


この@のところに
int a=Imterger.parse Int(args[0])
ってのを使って解かなければならないんですが
分かる方教えてください。

851 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 18:45:23 ]
この時期に慌てて宿題の丸投げなんかするなよ
単位落としてしまえ

852 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 18:52:26 ]
宿題スレなんてのもあるのにアレだけど、
宿題に答えてやる奴ってなんなのかね?
ソフトウェア業界に対するいやがらせ?

853 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 20:45:42 ]
いいじゃん。どうせお前ら技術と給料は学生並みなんだから

854 名前:デフォルトの名無しさん [2007/03/27(火) 20:58:30 ]
JConsoleにリモートで接続できません。
「接続に失敗しました」という味も素っ気も無いメッセージしか出てこないので、「どのあたりを調べればいいのか」で結構ですのでアドバイスを下さい。

調べたいのはTocatで動いているサーブレットの動作状況です。
サーバのOSはLinux(CentOS)、クライアントはWindowsXPです。
サーバ側でのローカル(Localhost:0)では接続できましたが、やはり可能ならクライアントで監視できれば嬉しいです。
オプションは、JAVA_OPTSに
-Dcom.sun.management.jmxremote.port=18080
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
としています。
使っていないポート番号ということで、8004と18080の二つを試したのですが、いずれも×でした。ファイアーウォールはテスト用サーバなので設定していません。

以上、よろしくお願いします。

855 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 22:05:25 ]
初めて質問します、場違いだったらすみません(´・ω・`)
昨日からwinXPでJavaを始めた者なのですが
EclipseとNetbeans、どちらの開発環境が使いやすいのでしょうか?
また人気なのはどちらか教えて頂けませんか?
宜しくお願いします。

856 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 22:07:28 ]
初心者なら迷わずeclipse

857 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 22:15:36 ]
SwingやりたいならNetBeanもいいな。

858 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 22:24:07 ]
つかSwingバリバリの事務アプリならNetBeans一択。
手書きでできる程度のウィンドウだけならeclipseも可。
他の部分はeclipseの方が洗練度が高いと思うけど好み次第かな。

859 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 22:28:19 ]
おお、沢山のお答え有難う御座います><
Swingのことはまだ考えていないので
まずはeclipseで慣れてみようと思います。
教えて頂き有難う御座いました。








[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<251KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef