Java 如何在同一个方法中调用一个方法?
我正在编程一个21点,我希望每次玩家输的时候都执行方法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)
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以避免无限循环。我希望这将帮助您。我添加了避免无限循环的最大尝试。我希望这对你有帮助。