从int中减去时,Java代码不会运行

时间:2016-02-14 21:46:27

标签: java

    for (i=1; i < 9; i++) {
        for (j=1; j < 9; j++) {
            if ( board[i][j] == "o" ) {
                j = j-1;

                if ( board[i][j] == "x" ) {
                    do {
                        j--;
                    }
                    while (board[i][j] != "-");
                    board[i][j] = ".";
                }
            }
        }
    }

我将这段代码作为方法的一部分,有两个版本,一个如上所述,另一个j = j-1替换为j = j + 1,j--替换为j ++

正面版本工作得很好但是如果我放入负面版本,代码编译得很好但是当我尝试运行时没有任何反应,控制台只是挂起而我必须关闭并重新打开它。谁能告诉我我做错了什么?提前谢谢。

编辑:

for (i=1; i < 9; i++) {
        for (j=1; j < 9; j++) {
            if ( board[i][j].equals("o") ) {
                j = j-1;

                if ( board[i][j].equals("x") ) {
                    do {
                        j--;
                    }
                    while (!board[i][j].equals("-"));
                    board[i][j] = ".";
                }
            }
        }
    }

我已根据指示编辑了代码,但问题仍然存在

1 个答案:

答案 0 :(得分:1)

你的逻辑错了。你永远不会改变包含“x”的方块,所以你一直在遇到它,所以你继续递减j,所以你下次会再次遇到它,所以......

相关问题