package helloworld;
import java.util.Scanner;
public class Tictactoe {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
final int size = 3;
int[][] board = new int[size][size];
int numofx = 0;
int numofo = 0;
boolean iswin = false;
for (int i =0;i<board.length;i++)
{
for(int j =0;j<board[i].length;j++)
{
board[i][j]=in.nextInt();
}
}
out:
for(int i = 0;i<board.length;i++)
{
numofx = 0;//一定要注意归零以及归零的位置,不然会导致会计算整个二维数组的0 和 1 的个数,从而导致程序错误
numofo = 0;
for(int j =0;j<board[i].length;j++)
{
if(board[i][j]==1)
{
numofx++;
// System.out.println(numofx);我用来调试的代码
}
else
{
numofo++;
// System.out.println(numofo);我用来调试的代码
}
if(numofx == size || numofo == size)
{
iswin =true;
break out;
}
}
}
//判断列
out1:
for(int i = 0;i<board.length;i++)
{
numofx = 0;
numofo = 0;
for(int j =0;j<size;j++)
{
if(board[j][i]==1)
{
numofx++;
}
else
{
numofo++;
}
if(numofx == size || numofo == size)
{
iswin =true;
break out1;
}
}
}
//判断对角线
numofx = 0;
numofo = 0;
for(int i = 0;i<board.length;i++)
{
if(board[i][i] == 1)
{
numofx++;
}
else
{
numofo++;
}
}
if(numofx == size || numofo == size)
{
iswin =true;
}
//判断反对角线
if(!iswin)
{
numofx = 0;
numofo = 0;
for(int i = 0;i<board.length;i++)
{
if(board[i][size-i-1] == 1)
{
numofx++;
}
else
{
numofo++;
}
}
if(numofx == size || numofo == size)
{
iswin =true;
}
}
if(iswin)
{
System.out.println("有人赢了");
}
else
{
System.out.println("没人赢");
}
}
}
java学习--井字棋
最新推荐文章于 2023-12-19 23:29:00 发布