0
这是我的代码,我不断收到输出是:随机数发生器总是在for循环中生成相同的数字?
Number is:54
Number is:54
.
.
.
Number is:54
Number is:54
Number is:54
Number is:54
Process completed.
代码:
import java.util.Random;
public class random {
private static Random call = new Random();
private static int numb = call.nextInt(75) + 1;
public static void main(String[] args) {
for(int i = 0; i < 50; i++){
if (numb < 16) {
System.out.println("Number is:" + numb);
} else if (numb < 31 && numb > 15) {
System.out.println("Number is:" + numb);
} else if (numb < 46 && numb > 30) {
System.out.println("Number is:" + numb);
} else if (numb < 61 && numb > 45) {
System.out.println("Number is:" + numb);
} else {
System.out.println("Number is:" + numb);
}
}
}
}
是有办法解决的代码没有把
private static Random call = new Random();
private static int numb = call.nextInt(75) + 1;
在主要代码? (表示没有创建new Random()
及其在主代码中生成的数字)
原因是我还需要将int“麻木”传递给其他类,它们必须是相同的参数。如果我只是坚持 numb = call.nextInt(75)+ 1; 在主类的for循环中。当然它会起作用,但是“麻木”的参数在每一个班级都会有所不同。
谢谢!
只是要小心,每个线程使用不同的随机实例或你可能会发现你的随机数是...少一些。 – sirbrialliance
@sirbrialliance。我明白了,谢谢。但我还需要我创建其他类“发麻”,并且它必须是相同的数作为“发麻”在主类,如果我添加麻木= call.nextInt(75)+ 1;在主类的for循环中,两个“麻木”会有所不同,我如何使它们相同? – HayleyL
@Wil哈通感谢您的帮助,但我应该做的,如果我需要其他类的麻木价值? – HayleyL