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学习资源”,“人工智能”等即可获取学习资源。

在这里插入图片描述

以梦为马,不负韶华。
原文地址:https://www.cnblogs.com/huangjiahuan1314520/p/13630473.html