运用Java购买飞机票,也太方便了叭~

需求:

机票价格按照淡季旺季、头等舱和经济舱收费、输入机票原价、月份和头等舱或经济舱。

机票最终优惠价格的计算方案如下:旺季(5-10月)头等舱9折,经济舱8.5折,淡季(11月-来年4月)头等舱7折,经济舱6.5折

分析:

1.键盘录入机票的原价,仓位类型,月份信息,调用方法返回机票最终的优惠价格。
2.方法内部应该先使用if分支判断月份是旺季还是淡季,然后使用switch分支判断是头等舱还是经济舱。

下面开始实战演练:

1.让用户输入机票原价,月份,仓位类型
 Scanner sc =new Scanner(System.in);
        System.out.println("请您输入机票的价格:");
        double money = sc.nextDouble();
        System.out.println("请您输入机票的月份:");
        int month = sc.nextInt();
        System.out.println("请您选择仓位类型:");
        String type = sc.next();
2.定义方法接受信息,统计优惠后的价格返回

 

public static double calc(double money,int month,String type){

        return money;
}
3.判断用户选择的信息情况

 

if(month >=5 && money<=10){
            //旺季
            switch(type){
                case "头等舱":
                    money *=0.9;
                    break;
                case "经济舱":
                    money *=0.85;
                    break;
                default:
                    System.out.println("您输入的仓位类型有误");
                    money = -1;
            }
        }else if(month==11||month==12||month>=1&&month<=4){
            //淡季
            switch(type){
                case "头等舱":
                    money *=0.7;
                    break;
                case "经济舱":
                    money *=0.65;
                    break;
                default:
                    System.out.println("您输入的仓位类型有误");
                    money = -1;
            }
        }
        else{
            System.out.println("对不起,您输入的月份有问题~~");
            money = -1;
        }
4.调用方法统计结果

 

 System.out.println("机票优惠后的价格是"+calc(money,month,type));

完整代码如下:

package com.itheima.anli;

import java.util.Scanner;

public class Fuxi {
    public static void main(String[] args) {
        //键盘录入机票的原价,仓位类型,月份信息,调用方法返回机票最终的优惠价格。
        Scanner sc = new Scanner(System.in);
        System.out.println("请您输入机票的价格:");
        double money = sc.nextDouble();
        System.out.println("请您输入仓位类型:");
        String type = sc.next();
        System.out.println("请您输入月份信息:");
        int month = sc.nextInt();

        System.out.println("飞机优惠后的价格为"+cale(money,type,month));
    }
    //方法内部应该先使用if分支判断月份是旺季还是淡季,然后使用switch分支判断是头等舱还是经济舱
    public static double cale(double money,String type,int month){
        if(month>=5&&month<=10){
            //旺季
            switch (type){
                case "头等舱":
                    money*=0.9;
                    break;
                case "经济舱":
                    money*=0.85;
                    break;
                default:
                    System.out.println("您输入的仓位类型有误");
                    money=-1;

            }

        } else if(month==11||month==12||month>=1&&month<=4){
            //淡季
            switch (type){
                case "头等舱":
                    money*=0.8;
                    break;
                case "经济舱":
                    money*=0.65;
                    break;
                default:
                    System.out.println("您输入的仓位类型有误");
                    money=-1;

            }
        }else{
            System.out.println("对不起呀,您输入的月份有误");
            money=-1;
        }
        return money;
    }
}

执行结果如下:

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吱昂张1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值