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

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

Похожие вопросы