关于井字棋的代码,小弟有个地方实在看不懂
程序代码:
package 数组; import java.util.Scanner; public class 井字棋 { public static void main(String[] args) { // TODO Auto-generated method stub Scanner in=new Scanner(System.in); int SIZE=3; int[][] board=new int[SIZE][SIZE]; int numX=0; int numO=0; boolean getRESULT=false; int result=0; for(int i=0;i<board.length;i++) { for(int j=0;j<board[i].length;j++) { board[i][j]=in.nextInt(); } } //检查行 for(int i=0;i<board.length;i++) { for(int j=0;j<board[i].length;j++) { if(board[i][j]==1) { numX++; } else { numO++; } if(numX==SIZE || numO==SIZE) { getRESULT=true; if(numX==SIZE) { result=1; } else { result=2; } } } numX=0; numO=0; } //检查列 if(!getRESULT) { numX=0; numO=0; for(int i=0;i<board.length;i++) { for(int j=0;j<board[i].length;j++) { if(board[j][i]==1) { numX++; } else { numO++; } if(numX==SIZE || numO==SIZE) { getRESULT=true; if(numX==SIZE) { result=1; } else { result=2; } } } numX=0; numO=0; } } //判断正对角线 if(!getRESULT) { numX=0; numO=0; for(int i=0;i<board.length;i++) { if(board[i][i]==1) { numX++; } else { numO++; } if(numX==SIZE || numO==SIZE) { getRESULT=true; if(numX==SIZE) { result=1; } else { result=2; } } } } //判断反对角线 if(!getRESULT) { numX=0; numO=0; for(int i=0;i<board.length;i++) { if(board[i][SIZE-i-1]==1) { numX++; } else { numO++; } if(numX==SIZE || numO==SIZE) { getRESULT=true; if(numX==SIZE) { result=1; } else { result=2; } } } } //出结果 switch(result) { case 1: System.out.print("X方胜"); break; case 2: System.out.print("O方胜"); break; default: System.out.print("平局"); } in.close(); } }
其中这里的getRESULT到底是起到什么作用,还有那个分if(!getRESULT)在运行的过程中又是什么意思,我现在完全被这两个地方给搞蒙了