简体   繁体   English

在Java中生成范围内的随机数

[英]Generating random numbers within a range in Java

I can't figure out how to generate random values within a range, I don't think what I'm doing now in my code will ever generate the floor value我不知道如何在一个范围内生成随机值,我认为我现在在我的代码中所做的永远不会生成下限值

public static void main(String[] args) {

    int rand1;
    int rand2;
    int rand3;
    double rand4;

    Random r = new Random();
    // Part A: Generate random integer number between 30 and 50 (inclusive) 
    rand1 = 30 + r.nextInt(50 - 30) + 1;
    // Part B: Generate random integer number between 20 and -20 (inclusive) 
    rand2 = -20 + r.nextInt(20 - (-20)) + 1;
    // Part C: Generate random integer number between -20 and -60 (inclusive) 
    rand3 = -60 + r.nextInt(-20 - (-60)) + 1;
    // Part D: Generate random integer number between 0.0 and 15.9999 (inclusive) 
    rand4 = 0.0 + (15.9999 - 0.0) * r.nextDouble();;

    /**
     * ****************************************************************************
     * Outputs Section *
     * ****************************************************************************
     */
    System.out.println("A random integer number between 30 and 50 (inclusive): " + rand1);
    System.out.println("A random integer number between 20 and -20 (inclusive): " + rand2);
    System.out.println("A random integer number between -20 and -60 (inclusive): " + rand3);
    System.out.println("A random integer number between 0.0 and 15.9999 (inclusive): " + rand4);

}

r.nextInt((50-30) + 1)而不是r.nextInt(50-30) + 1

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM