break-label遇到死循环了

来源:12-2 项目问题解析 1

qq_宫湦_03802224

2018-01-09 13:35

 

//尝试用【异常抛出】来处理这部分代码,但是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;
}
写回答 关注

1回答

  • qq_宫湦_03802224
    2018-01-09 15:06:41

    已经知道是怎么回事了。

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

531028 学习 · 6197 问题

查看课程

相似问题