как проверить заполнены ли n количество ячеек массива определённым значением
мне нужно проверить есть ли в массиве n количество свободных ячеек(со значениями "0" где "1" - заполнен) int[] array=int[10]; представим такой массив {0,1,0,1,0,0,0,1,1,0}; нужно вычислить n количество ячеек в массиве, где n к примеру ровняется трём
Ответы (1 шт):
Автор решения: ulxanxv
→ Ссылка
import java.util.Arrays;
import java.util.InputMismatchException;
import java.util.Scanner;
public class Main {
private static final int VALUE = 0;
public static void main(String[] args) {
final int[] array = new int[]{0, 1, 0, 1, 0, 0, 0, 1, 1, 0};
System.out.print("Введите N: ");
final int n;
try (final Scanner scanner = new Scanner(System.in)) {
n = scanner.nextInt();
} catch (RuntimeException ex) {
System.err.println("Во время считывания переменной произошла ошибка!");
ex.printStackTrace();
return;
}
final String result = (n == getCountOfValue(array, VALUE)) ?
String.format("Число %d совпадает с количеством числа %d в массиве", n, VALUE) :
String.format("Число %d не совпадает с количеством числа %d в массиве", n, VALUE);
System.out.println(result);
}
private static long getCountOfValue(int[] array, int value) {
return Arrays.stream(array)
.filter(x -> x == value)
.count();
}
}