- 締切済み
乱数について
初心者なので、面倒ですが出来れば分かりやすく教えてください。 「-1.0以上1.0未満の実数値を生成して表示するプログラムを作成せよ。」 という問題の解答が下記だったのですが、何で-1.0が含まれているんですか? よく分かりません。 import java.util.Random; class SumDouble { public static void main(String[] args) { Random rand = new Random(); double tmp = rand.nextDouble(); //0.0以上1.0未満の実数値をランダム生成 double tmp2 = -1.0*tmp; //-1.0以上0未満の実数値をランダム生成 double sum =tmp+tmp2; System.out.println("-1.0以上1.0未満の実数値は" + sum + "です。"); } }
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- kmee
- ベストアンサー率55% (1857/3366)
回答No.1
え?これって常に0じゃない? tmp2=-tmp sum=tmp+tmp2 より sum=tmp-tmp=0 > double tmp2 = -1.0*tmp; //-1.0以上0未満の実数値をランダム生成 ってあるけど、乱数生成してません。単にtmpの値の正負をひっくりかえしただけです。
補足
本当ですね。 -1.0どころの話じゃなかった。