有 Java 编程相关的问题?

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

在java中使用goto语句时表达式的启动非法

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;
                    }

共 (1) 个答案

  1. # 1 楼答案

    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
        }
    }