我正在尝试创建一个 Java 程序来生成飞机上的座位数。到目前为止,我已经能够做到这一点,但我的问题是每次运行客户端时生成的数字都是不同的。我需要它们每次都一样...
我不确定我做错了什么,有人可以帮助我吗?
import java.util.Random;
import java.util.Arrays;
public class Airplane {
public static Random randomNumbers = new Random();
public static int[] oSeatLeft = new int[10];
public static int[] mSeatLeft = new int[10];
public static int[] wSeatLeft = new int[10];
public static int oSeat = 0;
public static int mSeat = 0;
public static int wSeat = 0;
public static final int sCheck = 0;
public void genWSeats() {
int randSeatFill = 0;
if (wSeat == 0) {
for (int counter = 0; counter < wSeatLeft.length; counter++) {
randSeatFill = randomNumbers.nextInt(2);
if (randSeatFill == 1) {
wSeatLeft[counter] = 1;
}
}
if (wSeat == 0) {
wSeat++;
}
}
}
public int[] getWSeats() {
System.out.println(java.util.Arrays.toString(wSeatLeft));
return wSeatLeft;
}
}
static int wSeat 的目的应该是检查器。如果 wSeat 大于零,则不应为数组随机生成数字。不确定这里究竟出了什么问题....
最佳答案
使用 Random
构造函数和 seed
public static Random randomNumbers = new Random(42);
这样总是生成相同的随机数序列。 42 只是一个示例,您可以使用任何您想要的值。
关于java - 静态数组不一样 [java],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16183591/