gpt4 book ai didi

java - 循环java中Rnd Num的平均值

转载 作者:行者123 更新时间:2023-12-01 20:52:03 24 4
gpt4 key购买 nike

当我生成 3 个 1 到 20 之间的随机整数时,我被困在计算平均值上。我必须将平均值四舍五入为 int 并重复 10000 次。当我重复测试我的程序两次时,我得到的输出:

Number is :18
Number is :14
Number is :2
sum is: 34
Average is: 11

Number is :13
Number is :3
Number is :6
sum is: 56
Average is: 18

但是,平均值应该是 3 个数字的平均值。这里,第二个循环将第一个循环的总和与第二个循环的总和相加,使得平均值错误(Sum:34+22=56)。我希望它是 22,所以平均值是 7。我注意到问题可能出在这一行,sum += n; ,但我不知道另一种方法可以为每个循环添加 3 个数字以获得平均值。

package Histogram;

import java.util.Random;

public class RandomNumbers {
public static void main(String[] args) {
final int N = 2;
Random rand = new Random();
int n;
int average;
int sum = 0;

for (int a = 0; a < N; a++) {
for (int i = 0; i < 3; i++) {
n = rand.nextInt(20) + 1;
System.out.println("Number is :" + n);
sum += n;
}
average = sum / 3;

System.out.println("sum is: " + sum);
System.out.println("Average is: " + average);

}

}
}

最佳答案

第二个 for 循环中的 sum += n; 不断增加 sum 的值(甚至是循环中较旧的总和值) )。因此,每次开始第一个循环时,您都需要将 sum 的值重置为 0。

for (int a = 0; a < N; a++) {
sum = 0;
//rest of the code

关于java - 循环java中Rnd Num的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43173743/

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