Tag: 概率密度

生成具有非均匀分布的随机整数数组

我想编写Java代码来生成范围[1,4]中的随机整数数组。 数组的长度为N,在运行时提供。 问题是范围[1,4]不是均匀分布的: 这意味着如果我创建N = 100的数组,数字’1’将在数组中平均出现40次,数字’2’出现10次,依此类推。 现在我使用此代码生成范围[1,4]中的均匀分布的随机数: 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(4)+1; } } 如何使用非均匀分布实现它,如上图所示?