在 java 中使用 goto 语句时表达式的非法开始

illegal start of expression in using goto statement in java

I am trying to use goto statement to restart a player's turn but its not working.

if(spaceCheck(arr))
            {
            crack:
                System.out.println("Player "+player+"'s Turn:");
                System.out.print("Row : ");
                row=s.nextInt();
                System.out.print("Column : ");
                column=s.nextInt();

                if(indexValidate(arr,row,column))
                    {
                        arr[row][column]=player;
                    }
                else
                    {
                        goto crack;
                    }

goto 不是 Java 的一部分。也许您正在考虑另一种语言。

正如 blurfus 指出的那样,即使在允许 goto 的语言中,您也不应该使用它。这不是好的编程,因为它鼓励缺乏结构和“意大利面条代码”。

改为使用循环:

while (true) {
    System.out.println("Player "+player+"'s Turn:");
    System.out.print("Row : ");
    row=s.nextInt();
    System.out.print("Column : ");
    column=s.nextInt();

    if(indexValidate(arr,row,column)) {
        arr[row][column]=player;
        break;  // terminate while loop
    }
}