Почему выражение всегда = true?

195
05 декабря 2021, 19:00

У меня возникла проблема. Мой цикл while должен выполнятся до тех пор, пока я не введу либо C, либо F. Но на самом деле он выполняется всегда.

String inputType = "";
while (!inputType.equals("C") || !inputType.equals("F")) {
    System.out.println("Введите C, если хотите ввести строку из консоли, или F, если хотите ввести строку из файла");
    inputType = scan.nextLine();
}

Что можно с этим сделать? И почему это работает не так, как я ожидаю?

Answer 1

Ответ очевиден. Либо не равно С, либо не равно F. Предположим, вы ввели C. Тогда эта строка не равна F, и цикл пойдет дальше.
Замените "или" на "и", и все заработает.

Answer 2
String inputType = "";
while (!inputType.equals("C") && !inputType.equals("F")) {
    System.out.println("Введите C, если хотите ввести строку из консоли, или F, если хотите ввести строку из файла");
    inputType = scan.nextLine();
}
READ ALSO
Прочитать PDF с сайта

Прочитать PDF с сайта

В процессе создания приложения понадобилось чтениеpdf с сайта

107
Библиотеки JUnit4 и Junit не найдены в NetBeans

Библиотеки JUnit4 и Junit не найдены в NetBeans

При входе в IDE NetBeans, выводит предупреждение библиотеки JUnit4 и Junit не найдены

145
Как настроить IntelIJ IDEA Educational на использование Java EE?

Как настроить IntelIJ IDEA Educational на использование Java EE?

Нужно изучить JSP, которые входят в java EEПытаюсь настроить intelij-idea educational edition на использование этой технологии

198
На кнопках не появляются иконки

На кнопках не появляются иконки

У меня две задачи, создать пустое окно и создать кнопкиОкно я смог создать и все работает, но вот со второй задачей никак: иконки на кнопках...

78