静态数组不一样[java]
我正在尝试创建一个Java程序,生成飞机上的座位数量。到目前为止,我已经能够做到这一点,但我的问题是每次运行客户端时生成的数字都不一样。我需要他们每次都是一样的 我不确定我做错了什么,有人能帮我吗静态数组不一样[java],java,arrays,static,Java,Arrays,Static,我正在尝试创建一个Java程序,生成飞机上的座位数量。到目前为止,我已经能够做到这一点,但我的问题是每次运行客户端时生成的数字都不一样。我需要他们每次都是一样的 我不确定我做错了什么,有人能帮我吗 import java.util.Random; import java.util.Arrays; public class Airplane { public static Random randomNumbers = new Random(); public static int
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;
}
}
import java.util.Random;
导入java.util.array;
公务舱飞机{
公共静态随机数=新随机数();
公共静态int[]oSeatLeft=新int[10];
公共静态int[]mSeatLeft=新int[10];
公共静态int[]wseatlef=新int[10];
公共静态int oSeat=0;
公共静态int mSeat=0;
公共静态int wSeat=0;
公共静态最终int sCheck=0;
公共空间genWSeats(){
int randSeatFill=0;
如果(wSeat==0){
用于(int计数器=0;计数器
静态intwSeat的目的应该是一个检查程序。如果wSeat大于零,则不应为数组随机生成数字。不确定这里到底出了什么问题……使用带有seed的
随机
构造函数
这样,总是生成相同的随机数序列。
42只是一个示例,您可以使用任何想要的值。使用带有seed的
随机
构造函数
这样,总是生成相同的随机数序列。
42只是一个示例,您可以使用任何想要的值。在初始化时使用传递种子。这将保证生成的数字序列始终相同(因为它是一个伪随机数生成器)。在初始化时使用传递种子。这将保证生成的数字序列始终相同(因为它是一个伪随机数生成器).在
Random
的构造函数中传递种子,它每次都会生成相同的数字在Random
的构造函数中传递种子,它每次都会生成相同的数字我创建随机数据并随机输出。这是什么魔法?我在创建随机数据,然后随机输出。这是什么魔法?好的,很好,到目前为止似乎有效。我刚刚删除了checker if语句,答案保持不变。。。。我想这没问题……谢谢!那帮了大忙!所以我现在的问题是。。。。当我创建多个对象作为该类的扩展时,每个类中的随机数仍然相同。。。。有没有办法只初始化一个变量,但让它为每个类生成不同的数字?@Brian Murphy:我认为这可能有点棘手。每个类都需要自己的静态随机实例。好的,很好,到目前为止似乎还可以。我刚刚删除了checker if语句,答案保持不变。。。。我想这没问题……谢谢!那帮了大忙!所以我现在的问题是。。。。当我创建多个对象作为该类的扩展时,每个类中的随机数仍然相同。。。。有没有办法只初始化一个变量,但让它为每个类生成不同的数字?@Brian Murphy:我认为这可能有点棘手。每个类都需要自己的静态随机实例。
public static Random randomNumbers = new Random(42);