这是我得到的问题。 输入2整数(x和y)并在x和y之间打印随机整数。 我想知道为什么我的代码不打印随机整数。 我仍然是java的初学者,任何帮助都会很好。谢谢。
import java.util.*;
class Random_integer {
public static void main(String[] args) {
Random randomNum = new Random();
Scanner input = new Scanner(System.in);
int integer1, integer2;
System.out.print("Enter two integer : \n ");
System.out.print("\n Integer 1 : ");
integer1 = input.nextInt();
System.out.print("\n Integer 2 :");
integer2 = input.nextInt();
randomNum = new Random(integer1, integer2);
System.out.print("\n Random number : " +randomNum);
}
}
答案 0 :(得分:1)
java.util.Random
是用于生成随机数的类。构造函数不会将最小值和最大值作为参数,但nextInt()
方法可以执行您想要的操作:
randomNum = new Random();
System.out.println("Random number: " + random.nextInt(integer1, integer2));
答案 1 :(得分:1)
您正在错误地调用Random
构造函数,Random(integer1, integer2)
将无法编译,因为Random
没有带有两个整数参数的构造函数。
如果要在范围内创建随机数,请使用:
int rand = randomNum.nextInt((integer2 - integer1) + 1) + integer1
答案 2 :(得分:1)
尝试以下代码。 randomize(int x, int y)
中的参数x
是最小数量
并且y
是最大数量。
import java.util.*;
class Random_integer
{
public static void main(String[] args){
int integer1, integer2;
Scanner input = new Scanner(System.in);
System.out.print("Enter two integer : \n ");
System.out.print("\n Integer 1 : ");
integer1 = input.nextInt();
System.out.print("\n Integer 2 :");
integer2 = input.nextInt();
Random_integer ri = new Random_integer();
ri.randomize(integer1,integer2);
}
public void randomize (int x,int y) {
Random randomNum = new Random();
int rand = randomNum.nextInt((y-x)+1)+x;
System.out.print("\n Random number : " +rand);
}
}
答案 3 :(得分:0)
java.util.Random
是随机数生成器,而不是数字。您可以使用生成一个随机整数,如下所示:
Randrom rand = new Random();
int randomNum = x + rand.nextInt(y - x + 1);