gpt4 book ai didi

java - 获取 Math.random 的范围在 50–5000 之间

转载 作者:行者123 更新时间:2023-12-02 04:10:21 25 4
gpt4 key购买 nike

我想从 Math.random 中获取 50-5000 范围内的数组的最小值、最大值和平均值。这是我的代码,但每次运行它时都会排除 50 个。我看到最小值显示为 51,有时显示为 52。由于最大值显示正确,我如何准确地使其最小值为 50 或低于 50。唯一的问题是 min 部分。

提前致谢

public class Main {

private double max(double[] array) {
double max = 0;

for (int i = 0; i < array.length; i++) {
if (array[i] > max) {
max = array[i];
}
}
return max;
}

public double min(double[] array) {
double min = array[0];

for (int i = 0; i < array.length; i++) {
if (array[i] < min) {
min = array[i];
}
}
return min;
}

public static void main(String[] args) {
double array[] = new double[1000];
for (int i = 0; i < array.length; i++) {

array[i] = ((Math.random() * ((5000 - 50) + 1)) + 50);
}

Main main = new Main();

double total = 0;

for (int i = 0; i < array.length; i++) {
total = total + array[i];
}

double average = total / array.length;


System.out.println(main.max(array));
System.out.println(main.min(array));
System.out.println(average);


}
}

最佳答案

这样做。这更容易。

      Random rand = new Random();
// generate 1000 elements between 50 inclusive and 5000 exclusive.
double[] nums = rand.doubles(1000,50,5000).toArray();

或者您更喜欢使用循环


Random rand = new Random();
double[] nums = new double[1000]
for (int i = 0; i < nums.length; i++) {
nums[i] = rand.nextDouble(4950) + 50;
}

关于java - 获取 Math.random 的范围在 50–5000 之间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56692656/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com