Java 如何在同一个方法中调用一个方法?

Java 如何在同一个方法中调用一个方法?,java,Java,我正在编程一个21点,我希望每次玩家输的时候都执行方法play()。例如: public void play() { System.out.println("Your balance: $" + playerBalance + "\nHow much would you like to bet?"); playerBet = keyboard.nextInt(); System.out.println("Your bet: $" + playerBet)

我正在编程一个21点,我希望每次玩家输的时候都执行方法
play()
。例如:

public void play()
   {
      System.out.println("Your balance: $" + playerBalance + "\nHow much would you like to bet?");
      playerBet = keyboard.nextInt();
      System.out.println("Your bet: $" + playerBet);



      if(playerTotalValue > 21)
      {
         playerBalance -= playerBet;
         System.out.println("You are busted.\nYour balance: $" + playerBalance);
         System.out.println("Press enter to continue...");
         keyboard.next();
         play();
      }   

      else if(dealerTotalValue > 21)
      {
         playerBalance += playerBet;
         System.out.println("The house is busted.\nYour balance: $" + playerBalance);             
         System.out.println("Press enter to continue...");
         keyboard.next();
         play();
      }

这当然不是我想要的!如有任何帮助,我们将不胜感激。

您似乎需要从外部以无休止的循环方式调用函数,如:

while (true){
    play();
}

或者您可以想到的任何其他条件。

似乎您需要从外部调用函数作为无休止的循环,如:

while (true){
    play();
}

或者您可以想到的任何其他条件。

从自身调用方法即被调用

您不希望对此进行递归,而是希望循环或循环不断重复其主体,直到玩家想要退出

大概是这样的:

public void play() {
    boolean playAgain = true;

    while (playAgain) {
        // Your game logic here.

        // When the game ends, ask the user if he/she wants to play again
        // and store the answer in the playAgain variable.
    }
}

从自身调用方法即被调用

您不希望对此进行递归,而是希望循环或循环不断重复其主体,直到玩家想要退出

大概是这样的:

public void play() {
    boolean playAgain = true;

    while (playAgain) {
        // Your game logic here.

        // When the game ends, ask the user if he/she wants to play again
        // and store the answer in the playAgain variable.
    }
}

您需要添加更多的条件。就像playerTotalValue大于dealerTotalValue和playerTotalValue的情况一样,您需要添加更多的条件。就像playerTotalValue大于dealerTotalValue和playerTotalValue一样,为什么它不起作用?你只是有一个没有中止条件的递归-这可能是个坏主意。是的,我想。我们在课堂上还没有讨论递归的话题。我在高中的AP CS。所以任何建议都是有用的。它是执行的,但它是一个无限循环。递归重复是一个坏主意,因为如果不是尾部递归或未优化,最终会耗尽堆栈。为什么它不起作用?你只是有一个没有中止条件的递归-这可能是个坏主意。是的,我想。我们在课堂上还没有讨论递归的话题。我在高中的AP CS。所以任何建议都是有用的。它是执行的,但它是一个无限循环。递归重复是一个坏主意,因为如果不是尾部递归或未优化的话,最终会耗尽堆栈。也许你应该在
while
循环中提到
playreach=…
。有些人会犯错误,忘记在循环中设置
playreach
…也许您应该在
while
循环中提到
playreach=…
。有些人犯了一个错误,忘记在循环中设置
playreach
。。我添加了max trunt以避免无限循环。我希望这将帮助您。我添加了避免无限循环的最大尝试。我希望这对你有帮助。