Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
静态数组不一样[java]_Java_Arrays_Static - Fatal编程技术网

静态数组不一样[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

我正在尝试创建一个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;
    }
}
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);