![]() |
#2
current2016-05-31 11:26
|

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();
}
}
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)在运行的过程中又是什么意思,我现在完全被这两个地方给搞蒙了