使用随机数生成器Java

时间:2016-03-24 21:26:41

标签: java random

我在使用随机数生成器时遇到了麻烦,或者无法完全理解这个概念。我想生成从0到x的20个随机数。

Random ranNum= new Random();
int  n = ranNum.nextInt(x) + 0;

我会这样做吗?

6 个答案:

答案 0 :(得分:0)

运行此代码:

int x=100,n=0;
Random ranNum= new Random(); 
for(int i=0;i<20;i++)
 {
   n = ranNum.nextInt(x);
   System.out.println(n);
 }

X是随机数的范围。这个程序生成0到100之间的随机数。如果你想指定一个最小值,你可以在循环中尝试这一行:

n = ranNum.nextInt(x-min)+min;

答案 1 :(得分:0)

我喜欢Math.random(),它返回一个带有正号的double值,大于或等于0.0且小于1.0。

public int getNumber(int max) {
    return (int) (Math.random() * max); //returns an int between 0 and max
}

public void main() {
    for(int i = 0; i < 20; i++) {
        System.out.println(getNumber(100));
    }
}

在0到100之间打印20个数字,有关Math.random()https://docs.oracle.com/javase/7/docs/api/java/lang/Math.html

的更多信息

答案 2 :(得分:0)

通过这个你可以创建20个随机数。我仍然不明白你想要随机数字中是否有重复。好吧,试试这个:

static Random r = new Random();
private static final int number = 5;

public static void main(String[] args) {
    for(int i =0; i<20;i++){
        System.out.println(r.nextInt(number));
    }

}

答案 3 :(得分:0)

取决于您需要的数字。

要打印它们,您会:

Random randNum = new Random();
    for(int x = 0; x < 20; x++){
        System.out.println(randNum.nextInt(20));
    }

放入ArrayList并打印出来:

    ArrayList<Integer> list = new ArrayList<Integer>();
    Random randNum = new Random();
    for(int x = 0; x < 20; x++){
        list.add(randNum.nextInt(x)); //must set x to set maximum number it can be
    }
    for(int a : list)
        System.out.println(a);

答案 4 :(得分:0)

以下内容将创建0到ArrayList之间的x值,假设x之前已被定义为正int

ArrayList<Integer> randNums = new ArrayList<Integer>();
Random r = new Random();
for(int i = 0; i < 20; ++i) {
    randNums.add(r.nextInt(x + 1)); 
}

然后,您可以通过迭代ArrayList来使用您想要的值(打印或后续计算)。

答案 5 :(得分:0)

    for (int i = 0; i < 20; i++) {
        double r = Math.random();
        int[] RandomNumbers= new int[20];
        RandomNumbers[i] = (int) (101. * r);
        System.out.println(RandomNumbers[i]);
    }