zoukankan      html  css  js  c++  java
  • 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学习资源”,“人工智能”等即可获取学习资源。

    在这里插入图片描述

    以梦为马,不负韶华。
  • 相关阅读:
    windows下搭建基于eclipse插件的GoLang开发环境
    vtk类之vtkImageReslice:基本算法,对体数据沿着轴进行切片
    vtk类之vtkTextureMapToSphere:纹理映射算法, 映射球体纹理
    wxpython 之 GDI 画刷Brush(三)
    c# 获取Rss数据
    C# 基础知识系列之面向对象基础
    SilverLight 得到文件绝对路径
    SilverLight C# 读取并修改App.config文件
    Silverlight 脱离浏览器
    C# 中New关键字的用法
  • 原文地址:https://www.cnblogs.com/huangjiahuan1314520/p/13630473.html
Copyright © 2011-2022 走看看