系列連載文章,大家可以從我的專欄學習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));
}
}
小結
大家有疑問及時給我留言或者私信,也歡迎大家關注一下我的微信公衆號~~~