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