如何检查Main中的方法返回值?

时间:2014-11-18 21:11:51

标签: java methods

我正在为一项任务编写游戏,我遇到了一些问题。我有一个名为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();
             }
         ...

我的问题:我的代码有问题,或者有更好的方法吗?

5 个答案:

答案 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);

第二个问题是您使用的是turnbet变量而未先定义它们 - 它们来自哪里?

答案 3 :(得分:0)

嗯,很难说是否有任何错误,因为我们可能看不到整个代码。此外,如果您提供错误/异常,它将非常有用。

但是,有一些潜在的问题:

  1. repturnbet未声明。
  2. repturnbet被声明为该类的非静态字段,因此无法从static方法访问它们。
  3. 缺少最后一个}
  4. 此外,它与您的问题无关,但您可以将rep == false更改为!rep

    如果没有帮助,请提供更多详细信息。


    更新

    我可以看到您更新了代码,因此解决了rep之谜,但其余的仍然是问题。

答案 4 :(得分:0)

简短版:

public static void main (String[] params) {     
       if(!validBet(turn,bet)){
           System.out.println("invalid bet");
           bet=Clavier.lireString();
       }
...