//尝试用【异常抛出】来处理这部分代码,但是break-label遇到死循环了。请大神赐教是怎么回事。
reselect:
{
try {
System.out.println("请选择您要租赁的车辆类型:");
System.out.println("1、汽车 2、货车 3、皮卡");
int type=input.nextInt();
for(int i=1;i>0;i++){
if(type==1) {
Car car=new Car();
car.getType();
car.show();
break;
}else if(type==2) {
Truck truck=new Truck();
truck.getType();
truck.show();
break;
}else if(type==3) {
Pickup pickup=new Pickup();
pickup.getBrand();
pickup.show();
break;
}
else {
System.out.println("您的输入有误!请选择您要租赁的车辆类型:");
System.out.println("1、汽车 2、货车 3、皮卡");
type=input.nextInt();
}
}
}catch(InputMismatchException ime) {
System.out.println("您的输入有误!");
break reselect; //为什么这里跳转回去是死循环?怎么处理?
}
for(int i=1;i>0;i++){
System.out.println("确认吗?(是Y/否N)");
String conFinal=input.next();
if(conFinal.equals("Y")) {
System.out.println("您已预订成功!");
break;
}else if(conFinal.equals("N")) {
break reselect;
}else{
System.out.println("您的输入有误!");
continue;
}
}
break;
}
已经知道是怎么回事了。