- - PR -
ハッシュコードの契約に準拠
1
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2004-03-16 21:12
IDGの直前必修問題集にて、SJC-Pの対策をしているんですけど
ハッシュコードの契約に準拠しているかどうかっていう問題で public int test(){ return (int)Math.random() } とあります。 それで答えは、準拠している なんですけど、 これって正しいのですか? 同じオブジェクトに対して、複数回実行したら 同じ答えにならないし。 | ||||
|
投稿日時: 2004-03-16 21:27
実行してみました?毎回同じ値が帰ってきますよ。
(ひっかけですね)
[ メッセージ編集済み 編集者: ぽん 編集日時 2004-03-16 21:28 ] | ||||
|
投稿日時: 2004-03-16 21:30
Math#random() の戻り値は 「double の擬似乱数。範囲は、0.0 以上 1.0 未満」 ですので、int にキャストすると必ず 0 になります。 最も非効率に準拠していますね。 #しかし意地悪な問題ですね・・・。 | ||||
|
投稿日時: 2004-03-17 06:56
ご返答ありがとうございます。
ちゃんと実行してから、書き込めばよかったです。 >int にキャストすると必ず 0 になります。 納得です。 一行一行ちゃんと読まねば!という教訓になりました。 | ||||
|
投稿日時: 2004-03-17 10:41
こういうのを見ると、試験の存在意義(何のための試験?)を疑うんですが……。 SJC-Pの試験中にJavaDocとか見られるんですっけ? #それとも、標準的なライブラリのインターフェースは全部覚えておけってことですか | ||||
|
投稿日時: 2004-03-17 13:12
試験中にJavaDocは見られませんね。 出題範囲に「java.lang.Math クラスの static メソッドの使用方法を説明する。」と書いてあるので、Mathクラスは丸暗記ですね。 (Mathクラスだけですけどね) | ||||
1
