系列连载文章,大家可以从我的专栏学习Java入门基础知识,后续也会有更高级的Java特性、企业级开发框架,也有平常工作中的技术总结和分享,欢迎关注我的CDSN博客。同时可关注微信公众号“Java开发之旅”,获得更多技术资料!
目录
闲言碎语
switch的练习题,其实就是等值判断时的if结构,你会了if结构,就会了switch结构,而且switch和switch、switch和if都是可以互相嵌套的。这里我就只出一道题,用switch和if嵌套着做,大家下去也可以全部用switch去做~
题目
某航空公司推出线上售票业务,用户先选择出行的月份,再选择乘坐经济舱还是头等舱。售票规则如下:经济舱,5月份打9折,10月份打85折,其余月份不打折;头等舱,5月份打8折,10月份打75折,其余月份不打折。假设头等舱的价格为5000元,经济舱的价格为4000元,请根据用户输入的月份和舱类型计算最终价格。
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
//声明一个Scanner类的对象
Scanner scanner = new Scanner(System.in);
System.out.print("请输入您要出现的月份(数字):");
int month = scanner.nextInt();
System.out.print("请输入您要乘坐的舱型(经济舱或头等舱)");
String type = scanner.next();
//折扣,默认不打折
double discount = 1.0;
//机票价格,默认0.0元
double price = 0.0;
//用if结构确定基本票价
if (type.equals("经济舱")) {
price = 4000;
}else {
price = 5000;
}
//用switch结构计算折扣,只需要两个分支判断5月份和10月份,其余的月份不打折,用default表示
switch (month) {
case 5:
//如果是5月份出行,判断经济舱和头等舱
if (type.equals("经济舱")) {
//经济舱,5月份打9折
discount = 0.9;
System.out.println("5月份出行,经济舱打9折~");
}else {
//头等舱,5月份打8折
discount = 0.8;
System.out.println("5月份出行,头等舱打8折~");
}
break;
case 10:
//如果是10月份出行,判断经济舱和头等舱
if (type.equals("经济舱")) {
//经济舱,10月份打85折
discount = 0.85;
System.out.println("10月份出行,经济舱打85折~");
}else {
//头等舱,10月份打75折
discount = 0.75;
System.out.println("10月份出行,头等舱打75折~");
}
break;
default:
System.out.println("5月份和10月份之外出行,不打折");
}
//最终票价就是价格乘以折扣
System.out.println("您最终需要支付的票价为:" + (price * discount));
}
}
小结
大家有疑问及时给我留言或者私信,也欢迎大家关注一下我的微信公众号~~~