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
  • Вопрос задан
  • 77 просмотров
Решения вопроса 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
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Bell Integrator Ульяновск
До 400 000 ₽
Bell Integrator Хабаровск
До 400 000 ₽
Bell Integrator Ижевск
До 400 000 ₽