jl9*_*l90 2 java loops if-statement
我希望我的程序只打印一次“else 语句”,只有在 for 循环已经搜索了我的“orderProduct”数组长度之后。
我目前拥有的:
do
{
System.out.print("Enter Order: ");
userOrder = in.next();
for(int i=0; i<orderProduct.length; i++)
{
if(userOrder.equals(orderProduct[i].code))
{
System.out.print("Enter Amount: ");
userQuantity = in.nextInt();
break;
}
else
{
System.out.println("Sorry, invalid order.");
}
}
}
while(!userOrder.equals("0"));
Run Code Online (Sandbox Code Playgroud)
这段代码总是在检查数组的第一个元素后执行“else 语句”。只有当 for 循环遍历整个数组时,有没有办法打印它?
您可以在 if 循环中设置一个标志,并检查它是否在整个 for 循环之后仍未设置。
Boolean valid = false;
for(int i=0; i<orderProduct.length; i++)
{
if(userOrder.equals(orderProduct[i].code))
{
System.out.print("Enter Amount: ");
userQuantity = in.nextInt();
valid = true;
break;
}
}
if(!valid){
System.out.println("Sorry, invalid order.");
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2341 次 |
| 最近记录: |