Java 使用二维数组非法启动表达式?

Java 使用二维数组非法启动表达式?,java,Java,请帮忙!对于AP Comp Sci,我假设复制一个程序并编译它,然后修改它以执行其他操作。然而,当我从书中复制这一点时,出于某种原因,我在第14行public void set…,第38行private stat…,中发现了3个错误。。。行和39个私人统计。。。柱。我做错了什么 public class TicTacToe { public TicTacToe() { board = new String[ROWS][COLUMNS

请帮忙!对于AP Comp Sci,我假设复制一个程序并编译它,然后修改它以执行其他操作。然而,当我从书中复制这一点时,出于某种原因,我在第14行public void set…,第38行private stat…,中发现了3个错误。。。行和39个私人统计。。。柱。我做错了什么

    public class TicTacToe
    {
        public TicTacToe()
        {
        board = new String[ROWS][COLUMNS];
        for(int i = 0; i < ROWS; i++)
        {
            for(int j = 0; j <COLUMNS; j++)
            {
                board[i][j] = " ";
            }
        }

        public void set(int i, int j, String player)
        {
            if (board[i][j].equals(" "))
            {
                board[i][j] = player;
            }
        }

        public String toString()
        {
            String r = "";
            for(int i = 0; i < ROWS; i++)
            {
                r = r + "|"
                for(int j = 0; j < COLUMNS; j++)
                {
                    r = r+ board[i][j];
                }
                r = r + "|\n"
            }
            return r;
        }

        private String[][] board;
        private static final int ROWS = 3;
        private static final int COLUMNS = 3;
    }
}

在第一个for循环的末尾缺少一个}


如果您使用像Eclipse这样的IDE,它会向您显示类似的内容。

您也缺少一些;s到终点线

public class TicTacToe
{
    private final String[][] board;
    private static final int ROWS = 3;
    private static final int COLUMNS = 3;

    public TicTacToe()
    {
        board = new String[ROWS][COLUMNS];
        for (int i = 0; i < ROWS; i++)
        {
            for (int j = 0; j < COLUMNS; j++)
            {
                board[i][j] = " ";
            }
        }
    }

    public void set(final int i, final int j, final String player)
    {
        if (board[i][j].equals(" "))
        {
            board[i][j] = player;
        }
    }

    @Override
    public String toString()
    {
        String r = "";
        for (int i = 0; i < ROWS; i++)
        {
            r = r + "|";
            for (int j = 0; j < COLUMNS; j++)
            {
                r = r + board[i][j];
            }
            r = r + "|\n";
        }
        return r;
    }
}

不要忘了重写hashCode。

请确保打开的每个{都用}关闭。在未来的程序中,尊重识别将有助于您实现这一点。java错误报告通常非常好,您实际上应该发布错误,而不仅仅是发布错误所在的行