我正在尝试从控制台读取两个整数,然后显示在这两个数字之间生成的随机整数。
这是我的代码。
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
希望你们能以任何方式帮助我(:
答案 0 :(得分:0)
确保first
始终为较小的值并使用new Random().nextInt(second - first) + first;
。 first
在可能生成的数字范围内,second
是独占的。
答案 1 :(得分:0)
随机生成器(java.lang.Math中的方法?)将生成随机双x,其中0 <= x <= 1.只需将x与范围相乘并向产品添加任何偏移量。