如何在Java中为tic-tac-toe在2D数组中重新移动?

如何在Java中为tic-tac-toe在2D数组中重新移动?,java,Java,我正在做一个井字游戏。它工作得非常好,只是我不能确定我应该写什么条件才能重新执行无效的移动 这就是采取行动的方式 (还有另一个公共方法可以调用这两个私有方法。) 这是isValidMove()方法 我尝试在isValidMove()中使用while循环,但没有成功。 请帮助我演示如何再次输入移动?类似 String move; do { move = getHumanMove(); } while(!isValidMove(move)); ?是否有更多的代码,即主体?如何使用isVa

我正在做一个井字游戏。它工作得非常好,只是我不能确定我应该写什么条件才能重新执行无效的移动

这就是采取行动的方式 (还有另一个公共方法可以调用这两个私有方法。)

这是isValidMove()方法

我尝试在
isValidMove()中使用while循环,但没有成功。
请帮助我演示如何再次输入移动?

类似

String move;
do { 
    move = getHumanMove();
} while(!isValidMove(move));

是否有更多的代码,即主体?如何使用isValidMove()
?我认为在允许移动之前进行预检查会更容易,而不是进行移动,然后在无效时尝试撤销它。@dave是的,另一个类中有一个main方法isValidMove()在同一类的另一个方法executeMove()中调用@Carcigenicate就是这样。我不明白如何撤销移动和存储新移动如果你按照我的建议做,你将不需要撤销任何东西。关于如何移动,您没有给出太多细节,因此我假设您有一个
doMove()
方法。如果是这样的话,你所需要做的就是像
If(moveIsValid(move)){doMove(move);}
Whoops,我误解了问题所在。是的,这就是方法。你在
的末尾缺少了一个
,而
顺便说一句。@Carcigenicate啊,该死的手指。谢谢;-)NP我很高兴我能自动看到不匹配的括号XD。@Fox这就是问题所在。如果我写getHumanMove()会产生错误,因为这个方法是在其他类中定义的(根据问题的要求)
public boolean isValidMove(String move)
{
    int row = (int)(move.charAt(0)-'0');
    int col = (int)(move.charAt(1)-'0');

    if(board[row-1][col-1] == ' ')
    {
        return true;
    }
    return false;
}
String move;
do { 
    move = getHumanMove();
} while(!isValidMove(move));