【问题标题】:Generating random numbers within a range in Java在Java中生成范围内的随机数
【发布时间】:2015-10-01 15:06:54
【问题描述】:

我不知道如何在一个范围内生成随机值,我认为我现在在代码中所做的事情永远不会生成底值

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);

}

【问题讨论】:

标签: java random floor


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2015-04-08
    • 2010-12-24
    • 2012-12-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-08
    • 1970-01-01
    • 1970-01-01
    • 2014-08-11
    相关资源
    最近更新 更多