我有一个数组
(1,2,2,2,3,3,4,5,5,5,5,5,5)
我必须在考虑元素总和的情况下随机找到一个位置。例如,如果5 - 是6次而1 - 只是1,那么5必须经常随机6次
答案 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()方法之间的差异:
答案 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(包括)和指定值(不包括)之间。”因为随机是均匀分布的,所以你会更频繁地得到你的数字,因为它通常包含在数组中。