Мне нужна помощь с ПРОСТОЙ Y/N Условие для моей программы. Я действительно не работаю так, как хочу.Выполнение работы по эксплуатации Y/N
К сожалению, все другие темы, которые я нахожу, очень сбивают с толку. Я очень новичок в программировании.
Я хочу условие Y/N, которое не будет терпеть крах и не будет CASE SENSITIVE. поэтому, если Y или y возвращаются в другое меню, если n и N просто останавливают программу, и если что-то еще набирается в ней, она будет зацикливаться до тех пор, пока не будут выполнены условия Y или N.
Это то, что я писал:
String input = ScanString.nextLine();
while (!"Y".equals(input) || !"y".equals(input) || !"N".equals(input) || !"n".equals(input)) {
System.out.println("Please enter Y/N (Not case sensitive): ");
input = ScanString.nextLine();
}
if ("Y".equals(input) || "y".equals(input)) {
meny1();
} else if ("N".equals(input) || "n".equals(input)) {
}
Когда он работает, то, что я вставил, он не будет нарушать время цикла.
Вы можете явно использовать любой отступы вам нравится в вашем собственном коде, но это очень хорошая идея, чтобы использовать что-то последовательное и легко читаемый - - как для себя, так и при обращении к другим людям за помощью. Я отформатировал код в вашем вопросе для вас. –
Возможный дубликат [Да/Нет с булевым или if/else?] (Http://stackoverflow.com/questions/15927885/yes-no-with-boolean-or-if-else) – Bobulous
Ваше состояние всегда верно, следовательно, он продолжает цикл. Вы либо хотите использовать '! (Condition1 || condition2)' или '(! Condition1 &&! Condition2)'. Первый вариант выполняется быстрее, потому что оценка или условия останавливается, как только одно из них истинно. (Не очень большое дело для простой проблемы, как ваша, хотя) – sysconfig