我正在为一项任务编写游戏,我遇到了一些问题。我有一个名为validBet(boolean)
的方法,用于确认玩家所做的赌注是否有效。我试图检查该方法是否会在我的main方法中返回true或false。如果它是假的,则玩家必须投入新的赌注。这是我尝试过的,我的程序甚至不会运行:
public static void main (String[] params) {
boolean rep=false;
rep=validBet(turn,bet);
if(rep==false){
System.out.println("invalid bet");
bet=Clavier.lireString();
}
...
我的问题:我的代码有问题,或者有更好的方法吗?
答案 0 :(得分:2)
您可以增强代码:
while(!validBet(turn,bet)){
System.out.println("invalid bet");
bet=Clavier.lireString();
}
答案 1 :(得分:1)
从我所看到的情况来看,你不要将rep
声明为布尔值(除非你在这个块之外的某个地方做这件事)。
答案 2 :(得分:0)
您没有声明rep
变量的类型。 main
函数的第一行应为:
boolean rep = validBet(turn, bet);
第二个问题是您使用的是turn
和bet
变量而未先定义它们 - 它们来自哪里?
答案 3 :(得分:0)
嗯,很难说是否有任何错误,因为我们可能看不到整个代码。此外,如果您提供错误/异常,它将非常有用。
但是,有一些潜在的问题:
rep
,turn
或bet
未声明。rep
,turn
或bet
被声明为该类的非静态字段,因此无法从static
方法访问它们。}
。此外,它与您的问题无关,但您可以将rep == false
更改为!rep
。
如果没有帮助,请提供更多详细信息。
我可以看到您更新了代码,因此解决了rep
之谜,但其余的仍然是问题。
答案 4 :(得分:0)
简短版:
public static void main (String[] params) {
if(!validBet(turn,bet)){
System.out.println("invalid bet");
bet=Clavier.lireString();
}
...