Java 为什么在打印第一个if盒后开关盒没有断开?

Java 为什么在打印第一个if盒后开关盒没有断开?,java,if-statement,switch-statement,case,Java,If Statement,Switch Statement,Case,在下面的if语句中,如果它为false,它将正确打印else语句“不存在具有此编号的订单,请创建一个新订单。”如果是真的,它也会正确打印第一条语句,但后面总是跟着else语句。为什么没有中断在打印第一个if案例后终止 case(3):{ System.out.println(""); System.out.println("Please Enter The Order Number: "); int orderno =

在下面的if语句中,如果它为false,它将正确打印else语句<代码>“不存在具有此编号的订单,请创建一个新订单。”如果是真的,它也会正确打印第一条语句,但后面总是跟着
else
语句。为什么
没有中断在打印第一个if案例后终止

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
案例(3):{
System.out.println(“”);
System.out.println(“请输入订单号:”);
int orderno=input.nextInt();
迭代器orderIterator3=orders.getIterator();
订单当前订单;
字符串itemRemoved=null;
StackInterface newItems=new ArrayStack();
while(orderIterator3.hasNext()){//遍历列表,直到找到一个订单号匹配的订单
currentorder=orderIterator3.next();
如果(currentorder.getNumber()==orderno){//按订单号访问列表中的项目
newItems=currentorder.getItems();//将现有项复制到新堆栈中
如果(!newItems.isEmpty())
itemRemoved=newItems.pop();
System.out.println(“最后一项:“+itemRemoved+”\n已成功从您的订单中删除!”);中断;
}//如果结束
}//结束时
System.out.println(“不存在此编号的订单,请创建新订单”);中断;
}//结束情况3

当您在
while循环中中断时
,您将中断
while循环
,而不是
案例

有几种不同的方法可以实现这一点,但最简单的方法可能是添加一个布尔值,如果该值不符合要求,则将其设置为true,例如:

boolean shouldBreak = false;
while( ... ) {
  if( ... ) {
    shouldBreak = true;
    break; // break out of the while.
  }
}
if(shouldBreak) {
  break; // break out of the switch/case.
} 

当您在
while循环中中断时
,您将中断
while循环
,而不是
案例

有几种不同的方法可以实现这一点,但最简单的方法可能是添加一个布尔值,如果该值不符合要求,则将其设置为true,例如:

boolean shouldBreak = false;
while( ... ) {
  if( ... ) {
    shouldBreak = true;
    break; // break out of the while.
  }
}
if(shouldBreak) {
  break; // break out of the switch/case.
} 

当您在
while循环中中断时
,您将中断
while循环
,而不是
案例

有几种不同的方法可以实现这一点,但最简单的方法可能是添加一个布尔值,如果该值不符合要求,则将其设置为true,例如:

boolean shouldBreak = false;
while( ... ) {
  if( ... ) {
    shouldBreak = true;
    break; // break out of the while.
  }
}
if(shouldBreak) {
  break; // break out of the switch/case.
} 

当您在
while循环中中断时
,您将中断
while循环
,而不是
案例

有几种不同的方法可以实现这一点,但最简单的方法可能是添加一个布尔值,如果该值不符合要求,则将其设置为true,例如:

boolean shouldBreak = false;
while( ... ) {
  if( ... ) {
    shouldBreak = true;
    break; // break out of the while.
  }
}
if(shouldBreak) {
  break; // break out of the switch/case.
} 


不能从while()循环中断开案例。最简单的解决方法是在中断while()循环时将布尔值设置为true,在循环后检查它,如果为true,则再次中断。

您不能从while()循环内部中断一个案例。最简单的解决方法是在中断while()循环时将布尔值设置为true,在循环后检查它,如果为true,则再次中断。

您不能从while()循环内部中断一个案例。最简单的解决方法是在中断while()循环时将布尔值设置为true,在循环后检查它,如果为true,则再次中断。

您不能从while()循环内部中断一个案例。最简单的修复方法是在中断while时将布尔值设置为true,在循环后检查它,如果为true,则再次中断。

因为没有
break
语句。它会中断封闭的while(),因此无法中断开关。
System.out.println(“最后一项:+itemRemoved+“\n已成功从您的订单中删除!”);break;
break
语句。它会破坏封闭的while(),因此无法断开开关。
System.out.println(“最后一项:+itemRemoved+”\n已成功从您的订单中删除!”;break;
break语句。它会破坏封装的while(),因此无法断开开关。
System.out.println(“最后一项:+itemRemoved+”\n已成功从您的订单中删除!”;break;
break语句。它会破坏封装的while(),因此无法断开开关。
System.out.println(“最后一项:+itemRemoved+”\n已成功从您的订单中删除!);break;