Fayo
@Fayo
Притворись дураком 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
  • Вопрос задан
  • 52 просмотра
Решения вопроса 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
Senior Junior Roo
Заменить break на return
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Emphasoft Санкт-Петербург
от 200 000 до 400 000 ₽
от 140 000 до 230 000 ₽
04 мар. 2021, в 16:10
10000 руб./за проект
04 мар. 2021, в 15:49
500 руб./в час
04 мар. 2021, в 15:42
8000 руб./за проект