私は、Javaで乱数ジェネレータを説明していましたが、彼はプログラムを実行するたびに同じ数字を得ていました。私は同じものを自分の簡単なバージョンを作成し、私も彼がプログラムを実行するたびに得ていた同じ正確な数字を取得しています。Java乱数はランダムではありませんか?
私は間違っていますか? 100のうち
import java.util.*;
public class TestCode{
public static void main(String[] args){
int sum = 0;
Random rand = new Random(100);
for(int x = 0; x < 100; x++){
int num = (rand.nextInt(100)) + 1;
sum += num;
System.out.println("Random number:" + num);
}
//value never changes with repeated program executions.
System.out.println("Sum: " + sum);
}
}
最後の5の数字は以下のとおりです。
40
60
27
56
53
I)は、より良い方法を使用Math.random(だと思います。 – Gere
ランダムインスタンスを作成するときに定数シードを使用しています。もちろん、あなたは同じ数字を得るでしょう。 –
@Gere: 'Math.random()'についてとても魔法で、なぜRandomインスタンスを使うよりもいいのですか? –