java - 打印数学随机生成的数字的最大数字

标签 java loops math for-loop random

我的任务是使用循环打印 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 存储迄今为止的最大值。 maxx 的值,我们还包括 x

最后,在 for 循环之后,我们确定 max 包含遇到的最大值,我们可以打印它(或用它做其他事情)。

关于java - 打印数学随机生成的数字的最大数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33040451/

相关文章:

java - 如何检查一行是否包含特殊字符?

java - Maven 'site' 依赖类型是什么?

java - 如何使用 JR API 更改页面方向

java - 通过将对象的属性/属性与字符串进行比较来检查对象列表是否已存在

math - 线和球之间的相交

Python 数学运算顺序

java - 如何在不使用字符串的情况下确定输入的整数是否包含某些数字

loops - 在整个执行过程中不断测试

loops - JMeter - 具有可变循环计数的循环 Controller

objective-c - Objective C 数学