exit(0) 没有终止我的 java 代码中的程序执行。为什么?

exit(0) is not terminating the program execution in my java code. Why?

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

    }
}

我编写了一个实现井字游戏的代码(带有婴儿步骤)。一旦 X 或 O 赢得比赛, exit(0) 实际上并没有终止程序执行。该程序仍在要求下一个输入。如何在那一刻终止代码?

您的 exit(0) 正在调用一个空方法。将其替换为:

private static void exit(int i) {
    System.exit(i);
}