Создал массив из 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?
Можно использовать метод 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
У вас код подразумевает, что в каждом повторном проходе цикла будет выводиться актуальное состояние count0. Вынесите System.out.println из цикла, чтобы он выполнялся один раз в конце.
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;
}
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Такое делоЕсть список с пассажирами, которые ждут, пока каждого разбудит поток
При несуществующем RequesMapping (к примеру /fsdghfg/dsfgh/sdfghjk/dsfghjk) возвращается 500 вместо 404, ни один из Методов при этом не обрабатывается
Такая проблема: были созданы сервер и клиент и каждый по-отдельности помещён в jar пакетКак запустить сервер и клиент на терминале (Linux)? По отдельности...
Метод About() переопределен, экземпляр класса создан и данные внесеныПочему метод dino