private static Random sRandom = new Random();
public static void main(String args[]) throws Exception {
int[] arr = new int[9];
printArr(arr);
while (true) {
for (int i = 0; i < arr.length; i++) {
arr[i] = sRandom.nextInt(10);
}
if (isLine(arr)) {
printArr(arr);
}
}
}
private static void printArr(int[] arr) {
System.out.println(Arrays.toString(arr));
for (int i = 0; i < 9; i += 3) {
int[] array = new int[3];
for (int j = 0; j < array.length; j++) {
array[j] = arr[i + j];
}
System.out.println(Arrays.toString(array));
}
System.out.println("-----------------------------------");
}
public static boolean isLine(int[] arr) {
//判断行
for (int i = 0; i < 3; i += 3) {
if (arr[i] != 0 && arr[i] == arr[i + 1] && arr[i + 1] == arr[i + 2]) {
return true;
}
}
//判断列
for (int i = 0; i < 3; i++) {
if (arr[i] != 0 && arr[i] == arr[i + 3] && arr[i + 3] == arr[i + 6]) {
return true;
}
}
//判断对角线
if (arr[4] != 0 && arr[0] == arr[4] && arr[4] == arr[8]) {
return true;
}
if (arr[4] != 0 && arr[2] == arr[4] && arr[4] == arr[6]) {
return true;
}
return false;
}
Java 9宫格 判断一条线相等
最新推荐文章于 2022-03-20 20:52:58 发布