黑马--综合练习1:买飞机票

买飞机票

机票价格按照淡季旺季、头等舱和经济舱收费、输入机票原价、月份和头等舱或经济舱。按照如下规则计算机票价格:旺季(5-10月)头等舱9折,经济舱8.5折,淡季(11月到来年4月)头等舱7折,经济舱6.5折。

方法一:

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入当前月份:");
        int month = sc.nextInt();
        System.out.println("请输入机票原价格:");
        int ticket = sc.nextInt();
        System.out.println("请选择机舱:(0 头等舱/1 经济舱)");
        int box = sc.nextInt();
        //判断机舱是什么类型?
        if(box == 0){
            switch (month){
                //使用case穿透,将旺季和淡季分成两部分
                case 5,6,7,8,9,10 -> System.out.println("机票的最终价格为:"+ticket * 0.9);
                case 11,1,2,3,4 -> System.out.println("机票的最终价格为:" + ticket * 0.7);
                default -> System.out.println("键盘录入的是一个非法数据。");
            }
        }else if(box == 1){
            switch (month){
                case 5,6,7,8,9,10 -> System.out.println("机票的最终价格为:"+ticket * 0.85);
                case 11,1,2,3,4 -> System.out.println("机票的最终价格为:" + ticket * 0.65);
                default -> System.out.println("键盘录入的是一个非法数据。");
            }
        }else {
            System.out.println("请选择正确的机舱类型。");
        }

    }

方法二:

 public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入当前月份:");
        int month = sc.nextInt();
        System.out.println("请输入机票原价格:");
        int ticket = sc.nextInt();
        System.out.println("请选择机舱:(0 头等舱/1 经济舱)");
        int seat = sc.nextInt();

        switch (month){
            case 5,6,7,8,9,10 -> System.out.println("机票的最终价格为:"+ticketPrice(ticket,seat,0.9,0.85));
            case 11,1,2,3,4 -> System.out.println("机票的最终价格为:"+ticketPrice(ticket,seat,0.7,0.65));
            default -> System.out.println("键盘录入的是一个非法数据。");
        }
    }
    //创建一个方法
    public static  int ticketPrice(int ticket,int seat,double v0,double v1){
        //判断机舱是什么类型?
            if(seat == 0){
               ticket = (int)(ticket * v0);
            }else if(seat == 1){
                ticket = (int)(ticket * v1);
            }else {
            System.out.println("请选择正确的机舱类型。");
            }
            return ticket;
    }
感觉代码还可以再优化一下,第二个方法也有点小瑕疵,请指教!
  • 10
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值