【问题标题】:How to change while(true)如何更改 while(true)
【发布时间】:2020-04-08 10:18:51
【问题描述】:

这是我的井字游戏的代码。我的教授不希望我们使用 while(true) 和休息。我不知道如何改变它。谁能帮帮我。

public void playerMakeMove()
{
    while(true)
    {
        System.out.println("It is "+username+"'s move");
        System.out.println("Give me your best move!");
        int move = input.nextInt();
        if (validatePlayerMove(move))
        {
            if (checkPositionAvailability(move))
            {
                board[move] = 'H'; //'H' for player move
                break;
            }
            else
            {
                System.out.println("Position not available.\nMake a different choice.");
                continue;
            }
        }
        if (move >= 9 || move <= -1)
        {
            System.out.println("Invalid entry!");
            continue;
        }

【问题讨论】:

  • 你能否更详细地描述问题(比如它做了什么不是你所期望的)以及你已经尝试过什么并且比在这里剪切和粘贴你的作业要付出更多的努力?
  • 当您的教授说他们不希望您使用 while(true)break 时,他们是否说他们确实希望您使用什么?

标签: java loops while-loop


【解决方案1】:

你可以这样写:

while ( gameInLimbo() ) {
   makeAnotherMove();
}

其中 gameInLimbo() 是一个方法,如果当前没有获胜者且仍有空方格,则返回 true,否则返回 false。

【讨论】:

    【解决方案2】:

    我强烈建议使用可以完成这项工作的布尔值,而不是 while (true) { code }

    有用的链接: Are "while(true)" loops so bad?

    【讨论】:

      猜你喜欢
      • 2015-09-30
      • 2013-03-02
      • 2021-06-09
      • 2021-06-02
      • 1970-01-01
      • 2015-02-15
      • 2020-08-28
      • 2012-11-04
      • 2012-10-21
      相关资源
      最近更新 更多