в приведенном ниже операторе if, если он ложный, он корректно печатает инструкцию else. "No order with this number exists, please create a new order."
, и если это правда, он также правильно печатает первое утверждение, но за ним всегда следует инструкция else
. Почему не заканчивается break;
после первого, если будет напечатан случай?Почему случай переключения не ломается после первого, если печатается случай?
case(3):{
System.out.println("");
System.out.println("Please Enter The Order Number: ");
int orderno = input.nextInt();
Iterator<Order> orderIterator3 = orders.getIterator();
Order currentorder;
String itemRemoved = null;
StackInterface <String> newItems = new ArrayStack<String>();
while (orderIterator3.hasNext()) { //iterate through the list until an order with a matching order no is found
currentorder = orderIterator3.next();
if(currentorder.getNumber() == orderno) { //access the Items in the list by their order number
newItems = currentorder.getItems(); //Copy the existing items into a new stack
if (!newItems.isEmpty())
itemRemoved = newItems.pop();
System.out.println("The last item: " + itemRemoved + "\n was successfully removed from your order!"); break;
}//End if
}//End While
System.out.println("No order with this number exists, please create a new order."); break;
}// End Case 3
Поскольку у вас нет инструкции 'break'. –
Он прерывает закрытие while() и поэтому не может сломать переключатель. –
'System.out.println (« Последний элемент: «+ itemRemoved +» \ n был удален из вашего заказа! »); ломать; ' helloworld