2016-10-10 5 views
0
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がゲームに勝利した時点で、exit(0)は実際にプログラムの実行を終了していません。プログラムは依然として次の入力を求めています。その瞬間にコードを終了するには?exit(0)は私のJavaコードでプログラムの実行を終了していません。どうして?

+3

'System.exit(0);' – Li357

+4

exit()メソッドを実装していません。 – Krishas

答えて

6

終了(0)が空のメソッドを呼び出しています。これで置き換えてください:

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

それは今働いた。私はあなたの答えを8分で受け入れます。ありがとう –

関連する問題