数组中的随机数

时间:2012-04-25 10:56:47

标签: java random

我有一个数组

(1,2,2,2,3,3,4,5,5,5,5,5,5)

我必须在考虑元素总和的情况下随机找到一个位置。例如,如果5 - 是6次而1 - 只是1,那么5必须经常随机6次

4 个答案:

答案 0 :(得分:3)

您需要获取数组的随机索引:

int randomIndex = Random.nextInt(array.length);
int randomValue = array[randomIndex]

答案 1 :(得分:3)

这样的东西?

int array[] = {1,2,2,2,3,3,4,5,5,5,5,5,5};
int randomIndex = Random.nextInt(array.length);
int randomNumber = array[randomIndex];

答案 2 :(得分:1)

如同另一个答案所说,你需要一个0范围内的int:length-1。

我建议使用:

Random r = new Random();
int index = r.nextInt(array.length);
int randomValue = array[index];

在这里,您可以看到Math.random()和Random Object的nextInt()方法之间的差异:

Math.random() versus Random.nextInt(int)

答案 3 :(得分:0)

试试这个:

  1 import java.util.Random;
  2 
  3 class Rnd {public static void main(String... args) {
  4     int[] data = new int[]{1,2,2,2,3,3,4,5,5,5,5,5,5};
  5     System.out.print(data[new Random().nextInt(data.length)]);
  6  }
  7 }

nextInt() method“返回从此随机数生成器的序列中提取的伪随机,均匀分布的int值,介于0(包括)和指定值(不包括)之间。”因为随机是均匀分布的,所以你会更频繁地得到你的数字,因为它通常包含在数组中。