Почему мой if input.equals("Quit") завершается неправильно?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Почему мой if input.equals("Quit") завершается неправильно?

Сообщение Anonymous »

Код: Выделить всё

public void addPizza() throws FileNotFoundException {
Menu menu = new Menu();
Map pizzaMenu = menu.getPizzaMenu();

boolean exit = false;

while (!exit) {
String input1;
String input2;

System.out.println("What pizza");
input1 = sc.nextLine();

System.out.println("How many pizzas");
input2 = sc.nextLine();

if (input1.equals("Quit") || input1.equals("quit") || input2.equals("Quit") || input2.equals("quit")) {
exit = true;
} else {
Pizza pizza = pizzaMenu.get(Integer.parseInt(input1));
Integer quantity = Integer.parseInt(input2);

OrderLineItem orderLine = new OrderLineItem(pizza,quantity,"");

listOfOrderLineItems.add(orderLine);
У меня есть приведенный выше код, однако мой цикл не завершится правильно.
В его нынешнем виде он спросит вас «Какая пицца» -> введите «Выход» - > «Сколько пицц» -> ввод «Выход».
Идея состоит в том, что цикл просто выходит из цикла после однократного ввода «Выход» либо в поле «Какая пицца», либо в «Сколько пицц».
IMO, он должен выйти после одного «Выхода», поскольку оператор if должен установить логическое значение в значение true?

Подробнее здесь: https://stackoverflow.com/questions/671 ... -correctly
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»