需求:用户在购买机票时,机票原价会按照淡季,旺季,头等舱还是经济舱的情况进行相应的优惠,优惠方案如下:5-10月为旺季,头等舱9折,经济舱85折;11月之来年四月为淡季,头等舱7折,经济舱65折。本程序旨在根据用户提供的原价机票价格,月份,以及舱型来计算优惠后的机票价格。
分析:
方法需要接收数据:机票原价,当前月份,舱位类型
方法需要返回数据:优惠后的机票价格
方法内部:先用if判断是淡季还是旺季,然后使用switch分支判断舱位类型
import java.util.Scanner;
public class Test1 {
public static void main(String[] args) {
//目标:完成买飞机票的案例
Scanner sc = new Scanner(System.in);
System.out.print("请输入原价飞机票:");
double a = sc.nextInt();
System.out.print("请输入月份:");
int b = sc.nextInt();
System.out.print("请输入舱型:");
String c = sc.next();
double price = calculate(a,b,c);
System.out.println("优惠后的价格是:"+price);
}
public static double calculate(double price, int month, String type) {
//旺季
if (month >= 5 && month <= 10) {
switch (type) {
case "头等舱":
price *= 0.9;
break;
case "经济舱":
price *= 0.85;
break;
}
}else{
switch (type) {
case "头等舱":
price *= 0.7;
break;
case "经济舱":
price *= 0.65;
break;
}
}
return price;
}
}