问题描述
我想验证订单类型并转到菜单选项。但是ordertype循环一次又一次地执行,我无法打破循环并摆脱困境。请帮忙。
public static void main(String[] args) {
int orderId;
String name;
String emailId;
Long mobileNo;
String orderType;
String menu;
Scanner scanner= new Scanner(System.in);
System.out.println("Enter Order ID :");
orderId = scanner.nextInt();
System.out.println("Enter Name :");
name = scanner.next();
System.out.println("Enter email ID :");
emailId = scanner.next();
System.out.println("Enter Mobile No :");
mobileNo = scanner.nextLong();
while(true) {
System.out.println("Enter Order Type [snacks or meals ? ]");
orderType = scanner.next();
if (orderType== "snacks" || orderType=="meals" ) {
break;
}
System.out.println("Enter CorrectOrder Type [snacks or meals ? ]");
}
while(true) {
System.out.println("Enter Menu [veg or non-veg or vegan ? ]");
menu = scanner.next();
if (menu== "veg" || menu=="non-veg" || menu=="vegan") {
break;
}
System.out.println("Enter Correct menu option [veg or non-veg or vegan ? ]");
}
}
解决方法
我得到了正确的代码。如果(orderType.equals(“ snacks”)|| orderType.equals(“ meals”))可以代替==。