public class TicTacToe{
public static void main(String[] args){
System.out.println("X starts the game");
Scanner sc = new Scanner(System.in);
char a[][] = new char[3][3];
int n=0;
int i = 0;
int j = 0;
while(n<9){
System.out.println("Enter the coordinates but not" +i +" " +j);
int x = sc.nextInt();
int y = sc.nextInt();
System.out.println("Enter X");
a[x][y]=sc.next().charAt(0);
n++;
if(n>3){
if(a[0][0]=='X' && a[0][1]== 'X' && a[0][2]=='X'){
System.out.println("Congrats! X won");
exit(0);
}
else if(a[0][0]=='X' && a[1][0]== 'X' && a[2][0]=='X'){
System.out.println("Congrats! X won");
exit(0);
}
else if(a[1][0]=='X' && a[1][1]== 'X' && a[1][2]=='X'){
System.out.println("Congrats! X won");
exit(0);
}
else if(a[0][1]=='X' && a[1][1]== 'X' && a[2][1]=='X'){
System.out.println("Congrats! X won");
exit(0);
}
else if(a[2][0]=='X' && a[2][1]== 'X' && a[2][2]=='X'){
System.out.println("Congrats! X won");
exit(0);
}
else if(a[0][2]=='X' && a[1][2]== 'X' && a[2][2]=='X'){
System.out.println("Congrats! X won");
exit(0);
}
else if(a[0][0]=='X' && a[1][1]== 'X' && a[2][2]=='X'){
System.out.println("Congrats! X won");
exit(0);
}
else if(a[0][2]=='X' && a[1][1]== 'X' && a[2][0]=='X'){
System.out.println("Congrats! X won");
exit(0);
}
}
System.out.println("Enter the coordinates but not" +x +" " +y);
i = sc.nextInt();
j = sc.nextInt();
System.out.println("Enter O");
a[i][j]=sc.next().charAt(0);
n++;
if(n>3){
if(a[0][0]=='O' && a[0][1]== 'O' && a[0][2]=='O'){
System.out.println("Congrats! O won");
exit(0);
}
else if(a[0][0]=='O' && a[1][0]== 'O' && a[2][0]=='O'){
System.out.println("Congrats! O won");
exit(0);
}
else if(a[1][0]=='O' && a[1][1]== 'O' && a[1][2]=='O'){
System.out.println("Congrats! O won");
exit(0);
}
else if(a[0][1]=='O' && a[1][1]== 'O' && a[2][1]=='O'){
System.out.println("Congrats! O won");
exit(0);
}
else if(a[2][0]=='O' && a[2][1]== 'O' && a[2][2]=='O'){
System.out.println("Congrats! O won");
exit(0);
}
else if(a[0][2]=='O' && a[1][2]== 'O' && a[2][2]=='O'){
System.out.println("Congrats! O won");
exit(0);
}
else if(a[0][0]=='O' && a[1][1]== 'O' && a[2][2]=='O'){
System.out.println("Congrats! O won");
exit(0);
}
else if(a[0][2]=='O' && a[1][1]== 'O' && a[2][0]=='O'){
System.out.println("Congrats! O won");
exit(0);
}
}
}
sc.close();
}
private static void exit(int i) {
// TODO Auto-generated method stub
}
}
我编写了一个实现Tic Tac Toe的代码(带有婴儿步骤)。一旦X或O赢得游戏,退出(0)实际上不会终止程序执行。该程序仍在询问下一个输入。如何在那一刻终止代码?
答案 0 :(得分:6)
你的exit(0)正在调用一个空方法。替换它:
private static void exit(int i) {
System.exit(i);
}