Java選擇結構基礎練習題


”你得有本事,才有資格任性“,我是夢陽辰,快和我一起學習起來吧!

選擇結構

E201_02_01的士計價器

題目要求:嘉興市出租車,起步價(2公里以內)為7元,超過2公里的按照每公里3元計算。要求根據路程計算費用。
解題思路:
(1) 輸入路程
(2) 根據條件計算費用
(3) 輸出費用。
程序代碼:

package HomeWork.Part2; import java.util.Scanner; public class HomeWork_Part2_01_DiShi { public static void main(String[] args){ System.out.println("請輸入出行的路程:"); Scanner scan = new Scanner(System.in); float distance = scan.nextFloat(); float price; if(distance>0&&distance<=2){ price= 7f; } else if(distance>2){ price = 7F+(distance-2)*3; } else { price = 0; } System.out.println("你的費用為"+price); } } 

E201_02_02判斷閏年

題目要求:閏年的條件是能被4整除,但不能被100整除;或能被400整除。
解題思路:
(1) 輸入年份
(2) 通過閏年的條件能被4整除,但不能被100整除;或能被400整除,判斷年份是否時閏年。
(3) 輸出結果。
程序代碼:

package HomeWork.Part2; import java.util.Scanner; public class HomeWork_Part2_02_RunNian { public static void main(String[] args) { System.out.println("請輸入年份:"); Scanner scan = new Scanner(System.in); int year = scan.nextInt(); int flag= 0; if(year%4==0&&year%100!=0){ flag=1; } else if(year%400==0){ flag=1; } if(flag==1){ System.out.printf("%d是閏年!",year); } else{ System.out.printf("%d不是閏年!",year); } } } 

E201_02_03分段函數

題目要求: 使用選擇結構,輸入X的值,求處對應的f(x)的值。
注:f(x)可使用y代替。
解題思路:
(1) 輸入x的值。
(2) 判斷x和0的大小,計算f(x)的值。
(3) 輸出f(x)的值。
程序代碼:

package HomeWork.Part2; import java.util.Scanner; public class HomeWork_Part2_03_FenDuanHanShu { public static void main(String[] args){ Scanner scan = new Scanner(System.in); System.out.println("請輸入x的值:"); float x = scan.nextFloat(); float result; if(x>=0){ result = x*x-4*x+6; } else { result = x+6; } System.out.println("結果為:"+result); } } 

E201_02_04按性別計算輸血量

題目要求:根據性別和體重計算輸血量。女性體重不超過50kg的輸血量為200毫升,否則250毫升;男性不超過60kg的輸血量為250毫升,否則300毫升。
解題思路 :
(1) 輸入性別。
(2) 輸入體重。
(3) 女性體重不超過50kg的輸血量為200毫升,否則250毫升;男性不超過60kg的輸血量為250毫升,否則300毫升。
(4) 輸出結果。
測試代碼:

package HomeWork.Part2; import java.util.Scanner; public class HomeWork_Part2_04_ShuXueLiang { public static void main(String[] args){ Scanner scan = new Scanner(System.in); System.out.println("請輸入性別:"); String sex = scan.nextLine(); System.out.println("請輸入體重(kg):"); int result=0; float weight = scan.nextFloat(); if("男".equals(sex)){ if(weight<=60) result=250; else result = 300; } else if("女".equals(sex)){ if(weight<=50){ result = 200; } else{ result = 250; } } else { System.out.println("請輸入正確的性別!(男/女)"); } System.out.println("你的輸血量為:"+result+"ml"); } } 

E201_02_05溫度調節

題目要求:當氣溫高於26℃時,需要開啟制冷空調;氣溫低於10℃則開啟制熱空調;其余情況只需要開啟送風模式即可。編制自動溫控程序,控制操作用輸出相應的提示字符串來模擬,比如“開啟制冷”。
解題思路:
(1) 輸入氣溫。
(2) 判斷氣溫是否超過26度,超過就制冷。
(2.1)如果氣溫低於10度,就制熱,在兩者中間則送風。
(3)輸入結果。
程序代碼:

package HomeWork.Part2; import java.util.Scanner; public class HomeWork_Part2_05_WenKong { public static void main(String[] args) { System.out.println("請輸入當前的氣溫:(攝氏度)"); Scanner scan = new Scanner(System.in); float temperature = scan.nextFloat(); if(temperature>26){ System.out.println("開啟制冷!"); } else if(temperature<10){ System.out.println("開啟制熱!"); } else{ System.out.println("開啟送風!"); } } } 

E201_02_06購買火車票

題目要求:假設從A地到B地的火車票有硬座和硬卧,價格分別為100和190元。根據鐵路部門規定,未成年人(18周歲以下)身高不足120cm免票,120(含)-150(不含)cm需半票,150及以上的需全票,未成年人卧鋪只能減免硬座的半價。請設計一個購票程序,要求輸入年齡和身高(未成人需要輸入)以及票的類型,輸出票的價。
解題思路:
(1)輸入年齡,身高,票型。
(2)如果買的是硬座未成年人(18周歲以下)身高不足120cm免票,120(含)-150(不含)cm需半票,150及以上的需全票,成年人全票。如果買的是卧鋪,未成年人卧鋪只能減免硬座的半價。成年人全票。
(3)輸出價格。
程序代碼:

package HomeWork.Part2; import java.util.Scanner; public class HomeWork_Part2_06_MaiHuoChePiao { public static void main(String[] args) { Scanner scan = new Scanner(System.in); System.out.println("請輸入年齡:"); int age = scan.nextInt(); System.out.println("請輸入票型:"); String ticketType =scan.next(); float price = 0; if(age>=18){ if("硬座".equals(ticketType)){ price=100; } if("硬卧".equals(ticketType)){ price=190; } } else{ System.out.println("請輸入身高:"); float height = scan.nextFloat(); if("硬座".equals(ticketType)&&height<120){ price=0; } if("硬座".equals(ticketType)&&height<150&&height>=120){ price=100/2; } if("硬座".equals(ticketType)&&height>=150){ price=100; } if("硬卧".equals(ticketType)){ price=190-50; } } System.out.println("你需要支付的價格為:"+price); } } 

E201_02_07階梯電價

題目要求:根據《福建省電網銷售電價表》,居民生活用電按3個梯度收費:月用電量150千瓦時及以下部分,每千瓦時0.4463元,151—400千瓦時部分為0.4663元,401千瓦時以上部分為0.5663元,請編寫程序,當輸入用戶的用電量時,計算出所需付的費用。
解題思路:
(1) 輸入月用電量。
(2) 根據月用電量150千瓦時及以下部分,每千瓦時0.4463元,151—400千瓦時部分為0.4663元,401千瓦時以上部分為0.5663元計算費用。
(3) 輸出費用。
程序代碼:

package HomeWork.Part2; import java.util.Scanner; public class HomeWork_Part2_07JieTiDianJia { public static final float PRICE1=0.4463f; public static final float PRICE2=0.4663f; public static final float PRICE3=0.5663f; public static void main(String[] args) { System.out.println("請輸入月用電量(千瓦):"); Scanner scan = new Scanner(System.in); float electricityConsumption = scan.nextFloat(); float price =0f; if(electricityConsumption<=150){ price = electricityConsumption*PRICE1; } if(electricityConsumption>150&&electricityConsumption<=400){ price = 150*PRICE1+(electricityConsumption-150)*PRICE2; } if(electricityConsumption>400){ price = 150*PRICE1+250*PRICE2+(electricityConsumption-400)*PRICE3; } System.out.println("你需要支付的電費為:"+price); } } 

E201_02_08個稅計算器

題目要求:要求輸入工資,計算應交個稅額。
個稅額 = 全月應納稅所得額稅率-速算扣除數
全月應納稅所得額 = (應發工資-四金)-3500
假設四金700元,3500元為起征點
應納稅所得額(含稅) 稅率(%) 速算扣除數
不超過1500元的 3 0
超過1500元至4,500元的部分 10 105
超過4,500元至9,000元的部分 20 555
超過9,000元至35,000元的部分 25 1,005
超過35,000元至55,000元的部分 30 2,755
超過55,000元至80,000元的部分 35 5,505
超過80,000元的部分 45 13,505
解題思路:
(1) 輸入工資。
(2) 根據:全月應納稅所得額 = (應發工資-四金)-3500求出應納稅所得額。根據:個稅額 = 全月應納稅所得額
稅率-速算扣除數求個稅額。
3) 輸出結果。
程序代碼:

package HomeWork.Part2; import java.util.Scanner; public class HomeWork_Part2_08_GeShuiJiSuanQi { public static void main(String[] args) { Scanner scan = new Scanner(System.in); System.out.println("請輸入你的工資:"); float salary = scan.nextFloat(); float taxableIncome = salary-700-3500; float individualTax =0; if(taxableIncome<=1500){ individualTax =taxableIncome*0.03f; } else if(taxableIncome<=4500){ individualTax =1500*0.03f+(taxableIncome-1500)*0.1f-105; } else if(taxableIncome<=9000){ individualTax =1500*0.03f+3000*0.1f-105+(taxableIncome-4500)*0.2f-555; } else if(taxableIncome<=35000){ individualTax =1500*0.03f+3000*0.1f-105+4500*0.2f-555+(taxableIncome-9000)*0.25f-1005; } else if(taxableIncome<=55000){ individualTax =1500*0.03f+3000*0.1f-105+4500*0.2f-555+26000*0.25f-1005+(taxableIncome-35000)*0.3f-2755; } else if(taxableIncome<=80000){ individualTax =1500*0.03f+3000*0.1f-105+4500*0.2f-555+26000*0.25f-1005+20000*0.3f-2755+(taxableIncome-55000)*0.35f-5505; } else if(taxableIncome>80000){ individualTax =1500*0.03f+3000*0.1f-105+4500*0.2f-555+26000*0.25f-1005+20000*0.3f-2755+25000*0.35f-5505+(taxableIncome-80000)*0.45f-13505; } System.out.println("應交個稅額為:"+individualTax); } } 

E201_02_09判斷體型

題目要求:BMI(Body Mass Index)指數,即身體質量指數,簡稱體質指數,是用體重公斤數除以身高米數平方得出的數字,是目前國際上常用的衡量人體胖瘦程度以及是否健康的一個標准。輸入體重和身高,輸出體型描述。
BMI 體型描述
<18.5 體重過低
[18.5,25) 正常
[25,30) 肥胖前期
[30,35) I度肥胖
[35,40) II度肥胖
≥40 Ⅲ度肥胖
解題思路:
(1) 輸入體重和身高。
(2) 計算體重和身高比。
(3) 輸出結果。
程序代碼:

package HomeWork.Part2; import java.util.Scanner; public class HomeWork_Part2_09PanDuanTiXing { public static void main(String[] args) { Scanner scan = new Scanner(System.in); System.out.println("請輸入體重:(kg)"); float weight = scan.nextFloat(); System.out.println("請輸入身高:(米)"); float height = scan.nextFloat(); float BMI = weight/height; if(BMI<18.5){ System.out.println("體重過低!"); } else if(BMI<25&&BMI>=18.5){ System.out.println("正常!"); } else if(BMI>=25&&BMI<30){ System.out.println("肥胖前期!"); } else if(BMI>=30&&BMI<35){ System.out.println("I度肥胖!"); } else if(BMI>=35&&BMI<40){ System.out.println("II度肥胖!"); } else{ System.out.println("III度肥胖!"); } } } 

E201_02_10獎金發放

題目要求:企業發放的獎金根據利潤提成。利潤(I)低於或等於10萬元時,獎金可提10%;利潤高於10萬元,低於20萬元時,低於10萬元的部分按10%提成,高於10萬元的部分,可提成7.5%;20萬到40萬之間時,高於20萬元的部分,可提成5%;40萬到60萬之間時高於40萬元的部分,可提成3%;60萬到100萬之間時,高於60萬元的部分,可提成1.5%,高於100萬元時,超過100萬元的部分按1%提成,從鍵盤輸入當月利潤I,求應發放獎金總數?
解題思路:
(1) 輸入利潤。
(2) 按題目要求計算獎金。
(3) 輸出結果。
程序代碼:

package HomeWork.Part2; import java.util.Scanner; public class HomeWork_Part2_10_JiangJinFaFang { public static void main(String[] args) { Scanner scan = new Scanner(System.in); System.out.println("請輸入當月的利潤:(萬元)"); float profit = scan.nextFloat(); float bonuses = 0f; if(profit<=10){ bonuses = profit*0.1f; } else if(profit<=20){ bonuses = 10*0.1f+(profit-10)*0.075f; } else if(profit<=40){ bonuses = 10*0.1f+10*0.075f+(profit-20)*0.05f; } else if(profit<=60){ bonuses = 10*0.1f+10*0.075f+20*0.05f+(profit-40)*0.03f; } else if(profit<=100){ bonuses = 10*0.1f+10*0.075f+20*0.05f+20*0.03f+(profit-60)*0.015f; } else if(profit>100){ bonuses = 10*0.1f+10*0.075f+20*0.05f+20*0.03f+40*0.015f*(profit-100)*0.01f; } System.out.println("你的獎金為:"+bonuses+"萬元!"); } } 

E201_02_11判斷季節

題目要求:要求輸入月份,判斷該月所處的季節並輸出季節(假設:12、1、2月為冬季,依次類推)

package HomeWork.Part2; import java.util.Scanner; public class HomeWork_Part2_11_PanDuanJiJie { public static void main(String[] args) { Scanner scan = new Scanner(System.in); System.out.println("請輸入月份:"); int month = scan.nextInt(); if(month==12||month==1||month==2){ System.out.println("冬季!"); } else if(month>2&&month<=5){ System.out.println("春季!"); } else if(month>5&&month<=8){ System.out.println("夏季!"); } else if(month>8&&month<=11){ System.out.println("秋季!"); } } } 

E201_02_11四則運算器

題目要求:要求操作符和兩個操作數,執行相應的四則運算。
程序代碼:

package HomeWork.Part2; import java.util.Scanner; public class HomeWork_Part2_12_SiZeYunSuan { public static void main(String[] args) { System.out.println("請輸入你要進行的運算:(加減乘除)"); Scanner scan = new Scanner(System.in); String symbol = scan.nextLine(); System.out.println("請輸入第一個數據:"); float num1 = scan.nextFloat(); System.out.println("請輸入第二個數據:"); float num2 = scan.nextFloat(); float result =0f; //進行加減乘除運算 switch(symbol){ case "加":result = num1+num2;break; case "減":result = num1-num2;break; case "乘":result = num1*num2;break; case "除": if(num2==0){ System.out.println("除數不能為0:"); }else{ result = num1/num2; }break; default: System.out.println("請輸入加減乘除運算!");break; } System.out.println(result); } } 

決定你上限的不是能力,而是格局。

關注公眾號【輕松玩編程】回復關鍵字“電子書”,“計算機資源”,“Java從入門到進階”,”JavaScript教程“,“算法”,“Python學習資源”,“人工智能”等即可獲取學習資源。

在這里插入圖片描述


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM