单个Java随机数试图获得固定范围

时间:2018-03-23 12:21:37

标签: java random ide bluej

我正在尝试生成一个随机数生成器,其具有固定的1-100范围int min = 1int max = 100。到目前为止,我设法获得了此代码。使用BlueJ作为环境。

import java.util.Random; 

public class RandomNumber { 
    public static int getRandomNumberInts(int min, int max) { 
        Random random = new Random(); 
        return random.ints(min,(max+1)).findFirst().getAsInt(); 
    }
} 

有没有其他方法可以在我的范围内获得固定数字,而无需自己输入范围?

1 个答案:

答案 0 :(得分:0)

您可以将边界传递给构造函数,然后RandomNumber对象知道它们,您只需调用不带参数的方法即可。但是你的方法不再是静态的。

public class RandomNumber {

    private Random random;
    private int minBound;
    private int maxBound;

    public RandomNumber(int minBound, int maxBound) {
        this.random = new Random();
        this.minBound = minBound;
        this.maxBound = maxBound;
    }

    public int getRandomNumberInts() {
        return random.ints(minBound, (maxBound + 1))
                     .findFirst()
                     .getAsInt(); 
    }
}

然后你这样称呼它

RandomNumber rn = new RandomNumber(1, 100);
System.out.println(rn.getRandomNumberInts());
System.out.println(rn.getRandomNumberInts());    
System.out.println(rn.getRandomNumberInts());    
System.out.println(rn.getRandomNumberInts());