Java中的随机整数[重复]
Posted
技术标签:
【中文标题】Java中的随机整数[重复]【英文标题】:Random integer in Java [duplicate] 【发布时间】:2014-12-06 13:53:34 【问题描述】:这是我得到的问题。 输入 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);
【问题讨论】:
randomNum
是一个 Random
对象(随机数生成器)。您需要在 Random
对象上调用 方法 以生成整数。
【参考方案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);
【讨论】:
【参考方案2】:您错误地调用了Random
构造函数,Random(integer1, integer2)
将无法编译,因为Random
没有带有两个整数参数的构造函数。
如果你想在一个范围内创建一个随机数,使用这个:
int rand = randomNum.nextInt((integer2 - integer1) + 1) + integer1
【讨论】:
【参考方案3】:java.util.Random
是一个用于生成随机数的类。构造函数不会将最小值和最大值作为参数,但 nextInt()
方法可以满足您的要求:
randomNum = new Random();
System.out.println("Random number: " + random.nextInt(integer1, integer2));
【讨论】:
Random(long seed)
广泛用于可重复测试等。
@chrylis 我在哪里使用Random(long seed)
?
说“构造函数不带参数”是不准确的。当然,有一个默认构造函数,但也有一个常用的构造函数。
@chrylis 好的,我改了【参考方案4】:
java.util.Random
是一个随机数生成器,而不是一个数字。您可以使用它生成一个随机整数,如下所示:
Randrom rand = new Random();
int randomNum = x + rand.nextInt(y - x + 1);
【讨论】:
以上是关于Java中的随机整数[重复]的主要内容,如果未能解决你的问题,请参考以下文章
请问用java从1-33个整数中随机抽取6个数字 且不重复 1-16随机抽取一个数,给小球?