带随机数生成器和循环的代码

时间:2014-09-28 13:39:10

标签: java random generator

我使用这个随机数生成器,它工作正常但我需要一个范围(例如16-20)的数字,但我不能让它工作。我不知道该怎么做。

for (int i = 1; i <= 1; i++) {
    int RandomAttack = (int) Math.random() * 20;
    System.out.println(RandomAttack);
}

我需要最简单的代码。

2 个答案:

答案 0 :(得分:1)

确保您已将Random导入并初始化为Random random = new Random();

如下:

int randomNumber = random.nextInt(max - min) + min;

在你的情况下

int randomNumber = random.nextInt(20 - 16) + min;

仅此一项就可以在范围内获得所需的价值。不要忘记在课堂上导入Java的Random类。

另外,我不太了解你那边的循环点。我错过了一些明显的东西,或者只是一次迭代?


这是一个类示例:

import java.util.Random;

public class RandomRange {
    private static Random random;

    public static void main(String[] args) {
        random = new Random();

        System.out.println(random.nextInt(20 - 16) + 16);
    }
}

答案 1 :(得分:1)

Math.random()只返回0..1范围内的数字。您可以通过乘以范围并添加最小值来缩放此值。

或者使用java.util.Random(),它有一个方便的方法nextInt(),它将在0和&lt;之间返回。值。

所以你需要去0&lt; = value&lt; 5具有值0,1,2,3,4

import java.util.Random;

public class RandomTest {

    public static void main(String[] args) {
        Random random = new Random();
        for (int i = 1; i <= 10; i++) {
            int value = 16 + random.nextInt(5);
            System.out.println(value);
        }
    }

}