Я написал короткую программу, которая случайным образом заполняет двумерный массив 10х10 0 и 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();
}
}