Toame
如何调随机数的上限 默认是0

164ebr
Random r =new Random;
int i = r.nextInt(100)+1;

上面的100就是上限,0-100

GenjiKai
c语音里面似乎是
rand()%n,这里的n就是上限

Toame
164ebr 发表于 2022-1-15 21:52
Random r =new Random;
int i = r.nextInt(100)+1;

说错了 是下限

贺兰兰

变通一下啊....
比如你想生成 -100 到 50 的数字,那你直接生成 0 到 150 的数字然后再整体 -100 不就行了吗...
  1. int random = new Random().nextInt(151)-100
复制代码

LwTs
除了楼上大佬提供的解答方法之外 你也试试可以用这个笨方法,看看能不能达到你想要的效果
public static int getRandomNumber(int min, int max){
    Random random = new Random();
    while (true) {
        int number = random.nextInt(max);
        if (number >= min) {
            System.out.println("基于50~100之间的随机数: " + number);
            return number;
        }
    }
}

xy2huan
有点意思的哎!!!!

mzmzmz
static Random rand=new Random();
static int randInt(int lowerLimit,int upperLimit)
{   
    return rand.nextInt(upperLimit-lowerLimit)+lowerLimit;
}


teddyxlandlee
LwTs 发表于 2022-2-3 13:08
public static int getRandomNumber(int min, int max){
    Random random = new Random();
    while (tr ...

大哥 这算了吧
在样本容量较小的情况下,丢弃样本不是个好主意

TooLazyToName
百度一下,你就知道。
===== Code Area =====
/***
* 生成一个随机整数,包括上下限。
* @param lowerBound 下限。
* @param upperBound 上限。
* @return 生成的整数
*/
public static int getRandIntInclude(int lowerBound, int upperBound) {
    if (lowerBound > upperBound) {
        throw new IllegalArgumentException();
    }
    return (int) (Math.random() * (upperBound - lowerBound + 1)) + lowerBound;
}
=== End of Code Area ===