我必須生成隨機數,我有一個運行和工作的代碼,但它似乎不是隨機的,它生成序列,對嗎?還是有另一種方法可以做到這一點public static void main(String[] args) { Scanner teclado = new Scanner(System.in); System.out.println("Ingrese el numero N"); int n = teclado.nextInt(); for (int i = 1; i <= n; i++){ double d = numerosAleatorios(i,n); System.out.println(d); }}public static double numerosAleatorios(double b, double c){ return b / c;}
2 回答

嗶嗶one
TA貢獻1854條經驗 獲得超8個贊
Math.random() 返回大于或等于 0.0 且小于 1.0 的偽隨機雙精度數。
public static void main(String[] args) {
Scanner teclado = new Scanner(System.in);
System.out.println("Ingrese el numero N");
int n = teclado.nextInt();
for (int i = 1; i <= n; i++){
double d = Math.random();
System.out.println(d);
}
}
輸入數字 N
8
0.660560867388863
0.6664125435482811
0.4814731375341803
0.040360135942367203
0.5503428291806611
0.25928232439131915
0.8536945699105207
0.41418876402957383

qq_遁去的一_1
TA貢獻1725條經驗 獲得超8個贊
它不是隨機的,因為變量 i 增加 1 并除以常數 (N) 因此對于每個 N 它將顯示相同的輸出我建議更改代碼以獨立于此類變量以實現真正的隨機性
添加回答
舉報
0/150
提交
取消