编写一个java程序,提示用户输入二维数组的行数和列数,然后输入数组中的值。测试二维数组是否有四个相同值的连续数字,无论是水平、垂直还是对角。如果数组包含四个具有相同值的连续数字,则显示true。否则,显示false。
时间: 2023-06-06 10:07:28 浏览: 103
好的,这个问题是关于编程的,我可以回答。以下是Java程序的代码:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入二维数组的行数和列数:");
int m = input.nextInt();
int n = input.nextInt();
int[][] arr = new int[m][n];
System.out.println("请输入二维数组的值:");
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
arr[i][j] = input.nextInt();
}
}
boolean flag = false;
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
if (j <= n - 4 && arr[i][j] == arr[i][j+1] && arr[i][j] == arr[i][j+2] && arr[i][j] == arr[i][j+3]) {
flag = true;
break;
}
if (i <= m - 4 && j <= n - 4 && arr[i][j] == arr[i+1][j+1] && arr[i][j] == arr[i+2][j+2] && arr[i][j] == arr[i+3][j+3]) {
flag = true;
break;
}
if (i <= m - 4 && arr[i][j] == arr[i+1][j] && arr[i][j] == arr[i+2][j] && arr[i][j] == arr[i+3][j]) {
flag = true;
break;
}
if (i >= 3 && j <= n - 4 && arr[i][j] == arr[i-1][j+1] && arr[i][j] == arr[i-2][j+2] && arr[i][j] == arr[i-3][j+3]) {
flag = true;
break;
}
}
if (flag) {
break;
}
}
System.out.println(flag);
}
}
```
希望这个程序能够解决你的问题。
阅读全文