Задать вопрос
mal1kov
@mal1kov
Притворись дураком 5 минут, чем быть им всю жизнь.

Нахождение числа в массиве. Как вывести только один ответ?

Находим число в массиве:

public class Main {
    interface GetNum {
        void num(int[] x);
    }

    public static void main(String[] args) {
        int[] arr = {15, 16, 18, 19, 22, 0, -2, -4, 44};

        GetNum getNum = (x) -> {
            for (int j : arr) {
                if (j != -4) {
                    continue;
                } else {
                    System.out.println("Есть!");
                    break;
                }
            }
            System.out.println("Нету!");
        };

        getNum.num(arr);
    }
}


Но сообщение "Нету!" выводится даже при том, если есть число в массиве. Как сделать так, чтобы если число есть это сообщение не выводилось?

https://repl.it/join/plhlmrrx-lotvw07
  • Вопрос задан
  • 79 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 2
LaRN
@LaRN
Senior Developer
При выходе из цикла всегда будет писать что не найдено, нужно ещё флаг использовать.
Например так.
boolean f = false;
for (int j : arr) {
if (j == x) {
f = true;
break;
}
}
if (!f)
{System.out.println("Нету!");}
else
{System.out.println("Есть!");}
Ответ написан
Комментировать
xez
@xez Куратор тега Java
TL Junior Roo
Заменить break на return
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Сбер Москва
от 300 000 до 350 000 ₽
DIGITAL SECTOR Краснодар
от 250 000 до 450 000 ₽
Сбер Санкт-Петербург
До 350 000 ₽