简体   繁体   中英

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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