java - 在java中随机生成整数数组的问题

标签 java arrays random int

我正在尝试生成一个包含 N 个介于 0 到 100000 之间的整数值的数组。

这是代码:

import java.util.*;
public class Main
{

    public static Scanner input = new Scanner(System.in);

    public static void main(String[] args)
    {
        int N;
        System.out.println();
        System.out.print("Enter an integer number: ");
        N = input.nextInt();
        int[] a = new int[N];
        Random generator = new Random();
        for(int i = 0; i < a.length; i++)
        {
            a[i] = generator.nextInt(100001);
        }
    }
}

我注意到,每次生成新数组时,数组中的整数大部分是5位数字,有时有4位数字,很少有3位数字,但从未发生过我发现了 2 位或更少的数字。

我的实现是错误的吗?

最佳答案

考虑每种类型有多少个数字:

  • 1 个 6 位数字
  • 90000 个 5 位数字
  • 9000 个 4 位数字
  • 900 个三位数
  • 90 个 2 位数字
  • 10 个 1 位数字(包括 0)

因此,大约 90% 的数字应为 5 位数字,只有约 1% 的数字应为 3 位或更少。它们会发生,但很少。

关于java - 在java中随机生成整数数组的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6059978/

相关文章:

java - errorPage 指令有效,但 web.xml 中的 error-page 无效?

java - 变量未发送到服务器

javascript - 使用循环用对象填充数组

c - 如何制作确定性随机数生成器?

C# 随机数不是 "random"

java - 是否可以从两个不同的java应用程序访问同一个Ehcache对象?

java - Spring JDBC使用什么方法获取最新的key

c - 使用 malloc 从函数返回数组

c - 需要帮助将 txt 文件重定向到 3 个不同大小的不同结构数组(结构中的元素数量)

python - 您如何从满足某些条件的数组中随机排除/删除元素?