gpt4 book ai didi

java - 在不同 Java 类的方法中使用变量

转载 作者:行者123 更新时间:2023-12-01 11:55:34 24 4
gpt4 key购买 nike

所以在我的第一个类中,我有

     final int[] europeanroulettegame = {0,32,15,19,4,21,2,25,17,34,6,27,13,36,11,30,8,23,10,5,24,16,33,1,20,14,31,9,22,18,29,7,28,12,35,3,26};


// random number generated from the roulette

public static int getRandom(int[] europeanroulette){

int winningnumber = new Random().nextInt(europeanroulette.length);

return winningnumber;
}

在另一个类上我有

    public boolean equals(){

for (int i = 0; i < anyplayer.length; i++) {
if (winningnumber != anyplayer[i]) {
return false;
}
else {
return true;
}
}

我想知道为什么这似乎不起作用?我正在尝试使用头等舱的中奖号码,但似乎不起作用。

我还想在我的驱动程序中添加这一点,我有这个

    // Dealer announces the winning number (randomly generated)

int winningnumber = europeanroulette.getRandom(europeanroulettegame); // the name of the first class is europeanroulette

我想知道为我的车手生成的中奖号码是否与 equals 方法生成的中奖号码相同?

如果不是,我如何确保两个类别使用相同的中奖号码,而不是生成两次(使它们不同)?

最佳答案

您的 getRandom 方法不会从列表中返回随机数。它返回一个介于 0 和列表长度之间的数字。如果您想从列表中获得随机数,请执行以下操作:

return europeanroulette[(int)(Math.random() * europeanroulette.length)];

如果您想将第一级的中奖号码转移到第二级。您需要调用该方法:

int winningnumber = europeanroulette.getRandom(europeanroulette.europeanroulettegame);

您需要执行 europeanroulette.europeanroulettegame 而不是 europeanroulettegame 的原因是您正在引用另一个类中的变量。

如果您希望在多个位置使用相同的中奖号码,那么您应该将从 getRandom() 获得的第一个中奖号码保存为全局变量。

或者只使用这个类:

class EuropeanRouletteGame{
static int number;
static final int range = 37;
static void newNumber(){
number = (int)(Math.random() * ranage);
}
static int getNumber(){
return number;
}
}

当您想要生成 0 到范围之间的新随机数时,请使用 newNumber 方法。当您调用 getNumber 时,您将始终获得当前号码。您应该在第一次调用 getNUMBER 之前运行 newNumber,因为该数字最初为零。

类名应以大写字母开头。

关于java - 在不同 Java 类的方法中使用变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28469318/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com