我的任务是使用循环打印 1,000,000 个 0 到 1 之间的随机数。
我选择使用 Math.random 函数来执行此操作,并使用 for 循环来创建 1,000,000。
现在我需要打印数字的最大值...但是如何打印呢?是否可以将它们放入数组中来完成?
这是我到目前为止的代码:
public class GenerateRandomNumbers
{
public static void main(String[]args)
{
for(int i=0; i < 1000000; i++){
System.out.println(Math.random());
}
}
}
最佳答案
您只需跟踪当前的最大值,并相应地更新它:
public static void main(String[]args) {
double max = 0.0d;
for(int i=0; i < 1000000; i++){
double x = Math.random();
max = Math.max(max,x);
System.out.println(x);
}
System.out.println("The maximum is "+max);
}
代码的工作原理如下:来自 Math.random
的规范,我们知道最小值是 0.0
,因此我们首先将 max
设置为 0.0d
。
接下来我们迭代 1000000
样本。在打印该值之前,我们首先将其存储在 double x
中。接下来,我们更新最大值:max
通过计算 maximum 存储迄今为止的最大值。 max
和 x
的值,我们还包括 x
。
最后,在 for
循环之后,我们确定 max
包含遇到的最大值,我们可以打印它(或用它做其他事情)。
关于java - 打印数学随机生成的数字的最大数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33040451/