JAVA - 如何生成2个整数之间的随机数?

时间:2015-04-08 13:15:19

标签: java random input console integer

我正在尝试从控制台读取两个整数,然后显示在这两个数字之间生成的随机整数。

这是我的代码。

import java.awt.*;
import java.io.*;
import java.util.*;
import java.math.*;

public class Question8{

    public static void main(String[] args)
    {
        int first, second;

        Scanner myScanner = new Scanner(System.in);

        System.out.println("Enter first integer: ");
        int numOne;
        numOne = myScanner.nextInt();
        System.out.println("You have keyed in " + numOne);

        System.out.println("Enter second integer: ");
        int numTwo;
        numTwo = myScanner.nextInt();
        System.out.println("You have keyed in " + numTwo);

        Random generator = new Random();
        //int num = generator.nextInt(numOne) + numTwo;
        System.out.println("Random number: " + numOne + generator.nextInt(numTwo - numOne));
    }
}

执行此程序后.. 我没有得到2个整数之间的随机数。

这是我的输出:

Enter first integer: 
20
You have keyed in 20
Enter second integer: 
30
You have keyed in 30
Random number: 204

希望你们能以任何方式帮助我(:

2 个答案:

答案 0 :(得分:0)

确保first始终为较小的值并使用new Random().nextInt(second - first) + first;first在可能生成的数字范围内,second是独占的。

答案 1 :(得分:0)

随机生成器(java.lang.Math中的方法?)将生成随机双x,其中0 <= x <= 1.只需将x与范围相乘并向产品添加任何偏移量。