我必须生成随机数,我有一个运行和工作的代码,但它似乎不是随机的,它生成序列,对吗?还是有另一种方法可以做到这一点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条经验 获得超7个赞
它不是随机的,因为变量 i 增加 1 并除以常数 (N) 因此对于每个 N 它将显示相同的输出我建议更改代码以独立于此类变量以实现真正的随机性
添加回答
举报
0/150
提交
取消