我编写了一个简短的程序,它随机填充一个 10x10 的 2D 数组,其中包含 0 和 1。我想检查数组以查看每行和每列是否包含超过五个 1。
我已经使用 2 个单独的嵌套 for 循环完成了它,但是有没有办法只使用 1 个嵌套的 for 循环检查每一行和列并打印出每行/列的结果?我无法找到一种将我拥有的内容组合到一个嵌套循环中的方法。非常感谢您的任何建议:)
这是我的代码:
public class Main {
public static void main(String[] args) {
int[][] array = new int[10][10];
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array.length; j++) {
array[i][j] = (int) (2 * Math.random());
}
}
System.out.print("---THE MATRIX---\n");
System.out.println();
for (int[] arr : array) {
for (int value : arr) {
System.out.print(value + " ");
}
System.out.println();
}
System.out.println();
fiveOnes(array);
}
private static void fiveOnes(int[][] array) {
System.out.println("---MORE THAN FIVE ONES THROUGHOUT THE MATRIX---\n");
for (int i = 0; i < array.length; i++) {
int oneCount = 0;
boolean flag = false;
for (int j = 0; j < array.length; j++) {
if (array[i][j] == 1) {
oneCount++;
}
}
if (oneCount > 5)
flag = true;
System.out.println("Row " + (i + 1) + ": " + flag);
}
System.out.println();
for (int i = 0; i < array[0].length; i++) {
int oneCount = 0;
boolean flag = false;
for (int j = 0; j < array.length; j++) {
if (array[j][i] == 1) {
oneCount++;
}
}
if (oneCount > 5) {
flag = true;
}
System.out.println("Column " + (i + 1) + ": " + flag);
}
System.out.println();
}
}
莫回无
HUH函数
慕容森
相关分类