It can output in real time, does not allow repeated moves, has a judgment mechanism, and uses coordinates to play chess.
1 package tic-tac-toe; 2 import java.util.* ; 3 4 public class mine { 5 public static void main(String[] args) { 6 char [][] array = {{' ',' ',' ' },{' ',' ',' '},{' ',' ',' ' }}; 7 Scanner input = new Scanner(System.in); 8 int x,y; 9 output(array); 10 for ( int i=0;i<9;i++ ) { 11 System.out.print("Please enter the coordinates x and y of the pawn: "); 12 do { 13 x=input.nextInt(); 14 y=input.nextInt(); 15 }while(x<1||x>3||y<1||y>3); 16 x--;y--; 17 if(array[x][y]!=' ') { 18 System.out.println("已经有棋子了,请重新选择!!"); 19 do { 20 x=input.nextInt(); 21 y=input.nextInt(); 22 }while(x<1||x>3||y<1||y>3); 23 x--;y-- ; 24 } 25 if (i%2==0 ) 26 array[x][y]='x' ; 27 else 28 array[x][y]='o' ; 29 output (array); 30 switch (judge(array)) { 31 case 1:System.out.println("The "x" pawn player has won!");i=9; break ; 32 case 2:System.out.println ("The "o" pawn player has won!");i=9; break ; 33 } 34 if (i!=9 ) { 35 if (i%2==0) 36 System.out.print("The next step is the "o" pawn:" ); 37 else 38 System.out.print("The next step is the "x" pawn:" ); 39 } 40 } 41 } 42 static void output( char [][] array) { 43 System.out.println("-------------" ); 44 System.out.printf("| %c | %c | % c |\n", array[0][0],array[0][1],array[0][2 ]); 45 System.out.println("------------- --" ); 46 System.out.printf("| %c | %c | %c |\n", array[1][0],array[1][1],array[1][2]); 47 System.out.println("-------------"); 48 System.out.printf("| %c | %c | %c |\n", array[2][0],array[2][1],array[2][2]); 49 System.out.println("-------------"); 50 } 51 static int judge(char[][] array) { 52 for(int i=0;i<3;i++) { 53 if(array[i][0]==array[i][1]&&array[i][1]==array[i][2]&&array[i][2]=='x') 54 return 1; 55 if(array[0][i]==array[1][i]&&array[1][i]==array[2][i]&&array[2][i]=='x') 56 return 1; 57 } 58 if(array[0][0]==array[1][1]&&array[1][1]==array[2][2]&&array[2][2]=='x') 59 return 1; 60 if(array[0][2]==array[1][1]&&array[1][1]==array[2][0]&&array[2][0]=='x') 61 return 1; 62 for(int i=0;i<3;i++) { 63 if(array[i][0]==array[i][1]&&array[i][1]==array[i][2]&&array[i][2]=='o') 64 return 2; 65 if(array[0][i]==array[1][i]&&array[1][i]==array[2][i]&&array[2][i]=='o') 66 return 2; 67 } 68 if(array[0][0]==array[1][1]&&array[1][1]==array[2][2]&&array[2][2]=='o') 69 return 2; 70 if(array[0][2]==array[1][1]&&array[1][1]==array[2][0]&&array[2][0]=='o') 71 return 2; 72 return 0; 73 } 74 75 }