你如何生成特定的随机数?

时间:2015-06-07 16:18:19

标签: java random libgdx integer

我需要floatinteger,不是完全生成的,而是随机挑选的。

我是否需要使用并导入math.random class

例如,我有3个整数:1,6和3.我想要随机选择其中一个。

6 个答案:

答案 0 :(得分:4)

根据您想要的数字生成随机索引,然后从array

中获取数字
int []nums = {1,3,6};
int max = nums.length - 1;
int min = 0;
Random rand = new Random();
int randomNum = rand.nextInt((max - min) + 1) + min;
System.out.println(nums[randomNum]);

答案 1 :(得分:3)

如果您想要三个值中的每一个,但是以随机顺序,那么您可以将它们放在一个数组中。而且,随机播放该数组,您可以使用Arrays.asList(T...)Collections.shuffle(List)。接下来,迭代数组中的值(可能使用for-each loop)。像

这样的东西
public static void main(String[] args) {
    Integer[] arr = new Integer[] { 1, 6, 3 };
    Collections.shuffle(Arrays.asList(arr));
    for (int i : arr) {
        System.out.println(i);
    }
}

但是,如果您确实需要一次只选择一个随机值(比如说10次),那么您可以使用RandomnextInt(int)以及for循环。这可能看起来像

public static void main(String[] args) {
    int[] arr = new int[] { 1, 6, 3 };
    Random rand = new Random();
    for (int i = 0; i < 10; i++) {
        int index = rand.nextInt(arr.length);
        System.out.println(arr[index]);
    }
}

答案 2 :(得分:2)

创建一个允许数字的数组(即new int[] {1, 6, 3}),然后选择0..length-of-array范围内的随机int。在随机索引处挑选值将产生您想要的结果。

答案 3 :(得分:0)

假设你有一个数组(希望你知道 是什么)你可以做的数字:

int choose = myNumbers[(int)Math.random() * myNumbers.length];

答案 4 :(得分:0)

您必须创建一个包含您想要随机获取的值的数组。像这样:

int [] values = {1,3,6};

永远不必忘记放置:

Random rand = new Random();

因为如果你没有把它,随机功能不会正常工作。

那么,现在您可以随机访问您的值,如下所示:

int numObtained = rand.nextInt((values.length - 0) + 1) + 0;

最终代码为:

int [] values = {1,3,6};
Random rand = new Random();
int numObtained = rand.nextInt((values.length - 0) + 1) + 0;

我希望它对你有帮助!

答案 5 :(得分:0)

这可能会有所帮助。

int i[] = new int[]{3,4,6, 5, 8, 10, 14}; // given sets of array
int randomIndex = (int) (Math.random() * i.length); // generates a random index
System.out.println("random selected value " + i[randomIndex]);