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