Как часто числа 0 и 1 встречаются в массиве

265
18 июля 2022, 20:30

Создал массив из 10 чисел: 0 и 1, инициализировал каждый индекс массива как 0 или 1. Написал цикл:

for (int i = 0; i < array.length; i++) {
    if (array[i] == 0) {
        count0++;
        System.out.println(count0);

Получил ответ 1, 2, 3, 4, 5, т. к. 0 встречается в массиве 5 раз. Как мне правильно написать цикл, чтобы получить ответ только 5?

Answer 1

Можно использовать метод IntStream.count(), который возвращает количество элементов в текущем стриме:

int[] arr = new int[]{0, 1, 0, 1, 0, 1, 0, 0, 1, 1};
long count =
    // открываем stream по массиву
    Arrays.stream(arr)
        // фильтруем стрим - отбираем
        // только элементы, равные '0'
        .filter(e -> e == 0)
        // считаем количество элементов
        .count();
// выводим результат
System.out.println(count); // 5
Answer 2

У вас код подразумевает, что в каждом повторном проходе цикла будет выводиться актуальное состояние count0. Вынесите System.out.println из цикла, чтобы он выполнялся один раз в конце.

Answer 3
public class Main {
    public static void main(String[] args) {
        int[] arr1 = new int[]{1, 0, 0, 0, 1};
        System.out.println(foo(arr1));
    }
    static int foo(int[] arr) {
        int count = 0;
        for (int i = 0; i < arr.length; i++) {
            if (arr[i] == 0) {
                count += 1;
            }
        }
        return count;
    }
}
READ ALSO
wait() и notify() в java

wait() и notify() в java

Такое делоЕсть список с пассажирами, которые ждут, пока каждого разбудит поток

402
При несуществующем RequestMapping возвращается 500 вместо 404

При несуществующем RequestMapping возвращается 500 вместо 404

При несуществующем RequesMapping (к примеру /fsdghfg/dsfgh/sdfghjk/dsfghjk) возвращается 500 вместо 404, ни один из Методов при этом не обрабатывается

219
Запуск jar на терминал

Запуск jar на терминал

Такая проблема: были созданы сервер и клиент и каждый по-отдельности помещён в jar пакетКак запустить сервер и клиент на терминале (Linux)? По отдельности...

292
Вопрос по переопределению метода

Вопрос по переопределению метода

Метод About() переопределен, экземпляр класса создан и данные внесеныПочему метод dino

245