初心者なので、面倒ですが出来れば分かりやすく教えてください。

「-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 + "です。");
}
}

A 回答 (1件)

え?これって常に0じゃない?


tmp2=-tmp
sum=tmp+tmp2
より
sum=tmp-tmp=0

> double tmp2 = -1.0*tmp; //-1.0以上0未満の実数値をランダム生成
ってあるけど、乱数生成してません。単にtmpの値の正負をひっくりかえしただけです。

この回答への補足

本当ですね。
-1.0どころの話じゃなかった。

補足日時:2011/04/26 08:06
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング