从数组中获取随机数

时间:2014-05-03 04:10:32

标签: java random

如何从数组中获取单个随机数并将其保存到变量?

final Integer[] itemKonci1 = new Integer[]  {1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47
    ,49,51,53,57,59,61,63,65,67,69,71,73,75,77,79,81,83,85,87,89,91,93,95,97};

2 个答案:

答案 0 :(得分:0)

使用Random.nextInt(n),您可以生成0(包括)和数组长度(不包括)之间的随机索引。该随机索引可以传递给数组的索引运算符,以从数组中获取随机值。如下所示:

import java.util.Random;

public class Example {
    final static Integer[] itemKonci1 = new Integer[] { 1, 3, 5, ..., 93, 95, 97 };

    public static void main(String[] args) {
        Random r = new Random();
        int randomValueFromArray = itemKonci1[r.nextInt(itemKonci1.length)];
        // Do something
    }
}

答案 1 :(得分:0)

如azurefrog所述,您将使用随机

首先创建一个实例

Random r = new Random();

由于您要从数组中进行选择,因此需要生成介于0和array.length之间的随机索引

int index = r.nextInt(array.length);

使用此索引从数组中获取值

int result = array[index];

这适用于任何阵列。但在您的示例中,您不需要将值存储在数组中。

如果您想要一个小于98的随机正数,您可以r.nextInt(98)。但是你想让它变得奇怪。所以你设置第一位是做一点点或者用这样做的

int result = r.nextInt(98)| 1;