假设我想要一个随机数我执行“import java.util.Random;”和
int num = generator.nextInt(6) + 1;
public void display1() {
System.out.println("Number is: " + num);
}
//编辑这是显示代码。
public void display() {
System.out.println("Number is: " + num);
}
当我运行java程序时,它会给出一个随机数。
但这是问题所在: 当我从另一个班级打电话时,让我们说:
for (int i = 0; i < 5; i++) {
pList[i].display();
}
当我运行此代码时,它将输出
Number is: 6 //if 6 is the random number.
Number is: 6
Number is: 6
Number is: 6
Number is: 6 //instead of output of 5 different numbers.
所以我的问题是,无论如何都要解决这个问题?它应该有5个不同的数字。示例:
Number is: 6
Number is: 3
Number is: 2
Number is: 5
Number is: 1
答案 0 :(得分:1)
编辑:我真的不明白你的课程是如何构建的,但是:
在尝试猜测之后,我最好的建议是使用种子generator = new Random(System.currentTimeMillis());
初始化您的生成器,然后为num分配一个新的随机值。
或者在使用与之前相同的参数为setSeed(long seed)
分配值之前使用num
。那就是:generator.setSeed(System.currentTimeMillis());
这样你应该得到随机数字。
答案 1 :(得分:0)
如果你不使用'display()'方法,而是使用'nextInt()'方法,它可以很好地工作。试试这个:
public static void main (String [] args) {
Random generator = new Random ();
for (int i = 0; i < 5; i++) {
System.out.println(generator.nextInt(6) + 1);
}
}
祝你好运!
编辑(现在有一个功能):
import java.util.*;
public class test {
public static void main (String [] args) {
random (1000);
}
private static void random (int n) {
Random generator = new Random ();
for (int i = 0; i < n; i++) {
System.out.println(generator.nextInt(6) + 1);
}
}
}
完美的作品,那么难吗? (您可能还想阅读http://download.oracle.com/javase/1.4.2/docs/api/java/util/Random.html。所有关于随机数的信息。)