实现淡旺季机票打折
题目
假如你准备去海南旅游,现在与要订购机票。机票的价格收季节旺季、淡季影响,而且头等舱和经济舱的价格也不同。
假设机票原价为5000元,4~10月为旺季,旺季头等舱打9折,经济舱打6折;其他月份为淡季,淡季头等舱打5折,经济舱打4折。
请编写程序,根据出行的月份和选择的舱位输出实际的机票。
分析
不同月份和不同舱位会影响机票的价格。月份有12个,涉及多个选择,可以用switch对月份的结果进行选择判断,进行淡旺季的区分。由于只有两种舱位,所以采用了if的选择结构进行简单判断,结合两种结构可以得到折扣的力度。在统一出口处用原票价和折扣相乘,计算结果。
代码
package practice;
import java.util.Scanner;
public class Tickets {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请选择出行的月份");
int x = scanner.nextInt();
while (x>12||x<1){
System.out.println("输入有误,请重新输入");
x = scanner.nextInt();
}
System.out.println("请选择舱位:1.头等舱 2.经济舱");
int y = scanner.nextInt();
while(y!=1&&y!=2){
System.out.println("输入有误,请重新输入");
y = scanner.nextInt();
}
int t_price = 5000;//原票价
double price;//折扣票价
double discount;//折扣
switch (x){
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
case 10:
{
if(y==1){
discount = 0.9;
}else{
discount = 0.6;
}
break;
}
default:{
if(y==1){
discount = 0.5;
}else{
discount = 0.4;
}
break;
}
}
price = t_price * discount;
System.out.println("机票的价格为"+price);
scanner.close();
}
}