用户购买机票时,机票原价会按照淡季、旺季,头等舱还是经济舱的情况进行相应的优惠,优惠方案如下:5-10月为旺季,头等舱9折,经济舱8.5折; 11月到来年4月为淡季,头等舱7折,经济舱6.5折,请开发程序计算出用户当前机票的优惠价。
package com.itheima.question;
public class Question1 {
public static void main(String[] args) {
System.out.println("3月份头等舱机票价格是6500,优惠后的价格是:"+byTicket(6580,3,0));
System.out.println("12月份经济舱机票价格是780,优惠后的价格是:"+byTicket(786.63,12,1));
System.out.println("8月份头等舱机票价格是4563,优惠后的价格是:"+byTicket(4563,8,0));
}
/**
*计算机票的最终优惠价格
* @param ticketMoney 机票原价
* @param month 预计乘机月份
* @param seatCategory 乘坐舱位的数字(0:头等舱,1:经济舱)
* @return 机票的最终价格
*/
public static double byTicket(double ticketMoney, int month, int seatCategory) {
if (month >= 5 && month <= 10) { //旺季
//如果判断是指定数据和某个值是否相同并执行相应代码,switch优雅
switch (seatCategory) {
case 0: //头等舱
ticketMoney *= 0.9;
break;
case 1: //经济舱
ticketMoney *= 0.85;
break;
}
} else { //淡季
switch (seatCategory) {
case 0:
ticketMoney *= 0.7;
break;
case 1:
ticketMoney *= 0.65;
break;
}
}
return ticketMoney;
}
}
遇到需要通过判断数据在哪个区间,来决定执行哪个业务,应该用什么实现?
应该使用if分支结构实现。
遇到需要通过判断数据匹配哪个值,来决定执行哪个业务,应该用什么实现?
应该使用switch分支结构实现。