有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java清除二维数组中的所有元素

我正在尝试清理由二维数组表示的TicTacToe板,并编写了以下代码:

public class TicTacToe {
    public static void main(String[] args){

    final int ROWS = 3;
    final int COLUMNS = 3;

    public static char[][] board = new char[ROWS][COLUMNS];

    // Creates a new board
    private static void newBoard(){

        int j = 0;
        int i = 0;

        while (j < 3){
            while (i < 3){
                board[j][i] = null;
                i++;
            }
            j++;
            i = 0;

        }
    }
    }
}

但由于某种原因,我收到了错误

Multiple markers at this line
    - Syntax error on token "void", @ expected
    - Syntax error, insert "enum Identifier" to complete 
     EnumHeaderName
    - Syntax error, insert "EnumBody" to complete BlockStatement

错误在“private static void newBoard(){”行上

如果有人帮助我理解这些错误信息以及如何更正它们,我将不胜感激

编辑:我更改了方法,使其使用嵌套循环,但仍然收到错误


共 (2) 个答案

  1. # 1 楼答案

    我的第一个猜测是,您在某个地方缺少一个右括号,但是您发布的代码看起来是正确的,所以我猜它是一个右括号,正好位于您发布的内容之上

    另外,这并不能回答您的问题,但我不得不指出,您有一个静态函数(newBoard)在成员变量(board)上运行。要进行此编译,您的板也必须是静态的。这是一个习惯,当您开始执行并发时,它会咬到您,因为您可能有两个不同的进程在同一块板上工作

  2. # 2 楼答案

    您将所有定义放在main方法中。Java语法不允许这样做