这是我的代码,我一直得到的输出是:
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”传递给其他类,它们必须是相同的参数。如果我坚持 numb = call.nextInt(75)+ 1; 在主类的for循环中。当然它会起作用,但“麻木”的参数在每一个班级都会有所不同。
谢谢!
答案 0 :(得分:4)
坚持:
numb = call.nextInt(75) + 1;
进入你的for循环。它将重用您已创建的静态随机数。