gpt4 book ai didi

java - 如何收集某个范围内生成的数字?

转载 作者:太空宇宙 更新时间:2023-11-04 07:17:30 25 4
gpt4 key购买 nike

目前,我有一个代码可以生成 0-100 之间的 200 个随机数(每行 10 个数字),但现在我陷入困境,因为我想让它计算 0-20,21-40,41-60,61-80,81-100 之间的所有数字,并告诉我有多少个数字在该范围内。我该怎么做呢?我已经尝试过,但我刚刚生成了这些范围之间的数字。这是我当前的代码:(如果可能的话如何用数组来做?我是初学者,仍在学习)

import java.util.Random;

public class RandomStats1 {

public static void main(String[] args) {
Random random = new Random ();

System.out.println("200 Generated numbers, 10 per line: ");
int numbersOnThisLine = 0;
for (int i = 0; i < 200; i++)
{
int nextNumber = random.nextInt(100);
System.out.print(nextNumber + " ");
numbersOnThisLine++;

if (numbersOnThisLine == 10)
{
System.out.print("\n");
numbersOnThisLine = 0;
}

}
}
}

最佳答案

由于您处于学习阶段并且应该使用数组,因此我只会给您建议:

  1. nextInt(100) 给出 0 到 99 之间的值,而不是 100。
  2. 相同尺寸范围为 0-19、20-39、40-59、60-79、80-99。 0-20 是 21 个数字。

    (以上注释取自 Peter Lawrey's comment )。

  3. 您可以使用一个数组来存储每个组的计数器。由于您有 5 个组,因此也将数组的大小定义为 5。

  4. 利用该语言的一些优点,两个数字的整数除法的结果是 double 结果的整数部分。换句话说,当 int x 除以 int y 时,结果 int z 将是结果的整数部分,不需要考虑模数和浮点部分。例如:
    • 15/20 = 0
    • 20/20 = 1
    • 21/20 = 1
  5. 根据上面的注释,您可以轻松获取用作计数器的数组的索引,只需将生成的数字除以 0 到 100 之间,然后除以 20。

一个小伪代码:

int counterSize <- 5
int groupSize <- 20
int[] counter = new int[counterSize]
for i <- 0 to 200
int nextNumber <- random(100)
int index <- nextNumber / groupSize
counter[index] <- counter[index] + 1
end for

关于java - 如何收集某个范围内生成的数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19778494/

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