• ifelse以及switch 条件控制语句练习


    一、第一题

      月度考试如果机试成绩大于等于90分并且理论成绩大于90分,或者上机成绩和理论成绩的平均分大于等于80分,并且综合积分不低于90分也能考试通关。
    要求:
    1、在控制台输入学生的机试成绩、理论成绩、综合积分
    2、如果考试通关提示“恭喜你考试通关”

    public void test1()
        {
            System.out.println("题目1");
            Scanner s=new Scanner(System.in);
            System.out.println("输入在控制台输入学生的机试成绩、理论成绩、综合积分");
            double jishi=0,lilun=0,zonghe=0;
            jishi=s.nextDouble();
            lilun=s.nextDouble();
            zonghe=s.nextDouble();
            boolean condition1=jishi>=90&&lilun>90;
            boolean condition2=(0.5*jishi+lilun*0.5)>=80&&zonghe>=90;
            if(condition1&condition2)
            {
                System.out.println("恭喜通关");
            }
            else
            {
                System.out.println("没通关");    
            }
        }
        

    二、第2题

    用户购买商品,指定购买数目,如果库存不足提示“抱歉,没有足够的库存”,否则提示“购买成功”库存数目减少相应数目。无论购买成功与否最后都输出库存数
    参考解决方案:
    1、用户从控制台输入要购买的商品数目
    2、定义整型变量表示库存数目
    3、使用if-else双分支结构,判断库存数据是否够

    public void test2()
        {
            System.out.println("第二题\n输入用户要购买的商品数目");
            Scanner s=new Scanner(System.in);
            int expect=s.nextInt();
            int total=500;
            if(expect<=500)
            {
                System.out.println("购买成功!库存还有"+(500-expect));
            }
            else
            {
                System.out.println("购买失败!");
            }
            
        }

    三、第3题

    缴税=全月应纳税所得额*税率-速算扣除数
    扣除标准:个税按3500元/月的起征标准算
    例:某人的工资收入为5000元
    他应纳个人所得税为:
    (5000-3500)×0.03-0=45(元)
    参考解决方案:
    用户输入工资
    根据工资计算出全月应纳税所得额
    使用多重if判断全月应纳税所得额的范围,
    确定税率和速算扣除数
    使用公式计算缴税数额
    缴税=全月应纳税所得额*税率-速算扣除数

    @Test
        public void test3()
        {
            System.out.println("第三题");
            double init=new Scanner(System.in).nextDouble();
            double temp=init-3500;
            double rate=0;
            int kouchu=0;
            if(temp>0&temp<1500)
            {
                rate=0.03;
                kouchu=0;
            }
            else if(temp<4500)
            {
                rate=0.10;
                kouchu=105;
            }
            else if(temp<9000)
            {
                rate=0.20;
                kouchu=555;
            }
            
            else if(temp<35000)
            {
                rate=0.25;
                kouchu=1005;
            }
            else if(temp<55000)
            {
                rate=0.3;
                kouchu=2755;
            }
            
            else if(temp<80000)
            {
                rate=0.35;
                kouchu=5505;
            }
            else
            {
                rate=0.45;
                kouchu=13505;
            }
            
            double salary_1=temp*rate-kouchu;
            double salary=init-salary_1;
            System.out.println("扣税前工资是"+init+"\n扣税有"+salary_1+"\n最后工资是"+salary);
        }

    四、第4题

    需求分析:
    实训前最后一个月考试结束,所有考试通过的学生会按照学号分到实训1班和实训2班,学号为奇数的进入实训1班,学号为偶数的进入实训2班,考试通不过的学生则提示不能升入实训。
    思路分析:
    要求学生输入考试机试成绩、理论成绩和学号。
    首先判断考试是否通过
    考试通过后的if分支中,再判断学号是奇数还是偶数,奇数进入实训1班,偶数进入实训2班

    public void test4()
        {
            System.out.println("第4题");
            System.out.println("输入考试机试成绩、理论成绩和学号");
            Scanner s=new Scanner(System.in);
            int jishi=s.nextInt();
            int lilun=s.nextInt();
            int num=s.nextInt();
            if(jishi>=60&lilun>=60)
            {
                if(num%2==0)
                {
                    System.out.println("你被分入了实训2班");
                }
                else
                {
                    System.out.println("你被分入了实训1班");
                }
            }
            else
            {
                System.out.println("你考试没有通过");
            }
        }

    五、第5题

    需求分析:
    将数字0,1,2,3,4,5,6使用程序将其转换为汉字星期一、星期二、……星期日输出,如果输入其他数字提示“输入错误”
    思路分析:
    如果值是0则控制台输出星期一
    如果值是1则控制台输出星期二
    ……
    如果值是6则控制台输出星期日

    public void test5()
        {
            System.out.println("第五题");
            System.out.println("输入0-6数字进行星期的转换");
            int num=new Scanner(System.in).nextInt();
            switch (num) {
            case 0:
                System.out.println("对应的是在星期一");
                break;
            case 1:
                System.out.println("对应的是在星期二");
                break;
            case 2:
                System.out.println("对应的是在星期三");
                break;
            case 3:
                System.out.println("对应的是在星期四");
                break;
            case 4:
                System.out.println("对应的是在星期五");
                break;
            case 5:
                System.out.println("对应的是在星期六");
                break;
            case 6:
                System.out.println("对应的是在星期日");
                break;
            default:
                System.out.println("输入错误不在范围内");
                break;
            }
        }

    六、第6题

    通过键盘录入考试成绩,判断该考试成绩为什么等级
    90-100之间为优秀,80-89之间为优良,70-79之间为良好,
    60-69之间为及格,60分以下为不及格

    public void test6()
        {
            System.out.println("第六题");
            System.out.println("键入分数判断等级");
            int grade=new Scanner(System.in).nextInt();
            if(grade>0&grade<60)
            {
                System.out.println("不及格");
            }
            else if(grade<69)
            {
                System.out.println("及格");
            }
            else if(grade<79)
            {
                System.out.println("良好");
            }
            else if(grade<89)
            {
                System.out.println("优良");
            }
            else 
            {
                System.out.println("优秀");
            }
        }

    七、第7题

    做一个登陆效果,输入用户名和密码,如果用户名是:张三,密码是:123就提示登陆成功,否则提示登录失败。

    public void test14()
        {
            System.out.println("第十四题");
            System.out.println("输入登录名字和密码");
            Scanner s=new Scanner(System.in);
            String name=s.next();
            int key=s.nextInt();
            if("张三".equals(name)&key==123)
            {
                System.out.println("登陆成功");
            }
            else
            {
                System.out.println("登陆失败");    
            }
        }

    八、第8题

    做一个类似计算器的效果,键盘录入2个数字,再录入一个符号(+ - * %)。判断符号是加减乘除哪一个,如果是+就输出2数之和,如果是减就输出2数之差,如果是乘就输出两个数之积,如果是除,就求两个数之商(注意:要判断除数是不是0,如果为0,要报出提示信息(“0不能作为除数”))。

    public void test8()
        {
            System.out.println("第8个");
            System.out.println("请输入两个数字以及运算符");
            Scanner s=new Scanner(System.in);
            double a=s.nextDouble();//第一个数字
            double b=s.nextDouble();//第二个
            String ysf=s.next();//运算符
            switch (ysf) {
            case "+":
                System.out.println(a+ysf+b+"="+(a+b));
                break;
            case "-":
                System.out.println(a+ysf+b+"="+(a-b));
                break;
            case "*":
                System.out.println(a+ysf+b+"="+(a*b));
                break;
            case "/":
                if(b!=0)
                {
                System.out.println(a+ysf+b+"="+(a/b));
                }
                else
                {
                    System.out.println("0不可以做除数");
                }
                break;
            default:
                System.out.println("输入运算符不对");
                break;
            }
        }

    九、第9题

    输入月份,打印输出该月有多少天。

    public void test9()
        {
            System.out.println("第9题");
            System.out.println("输入月份,实现打印天数的功能");
            int month=new Scanner(System.in).nextInt();
            switch (month) {
            case 1:
            case 3:
            case 5:
            case 7:
            case 8:
            case 10:
            case 12:
                System.out.println("当前月份有31天");
                break;
            case 4:
            case 6:
            case 9:
            case 11:
                System.out.println("当前月份有30天");
                break;
            case 2:
                System.out.println("当前月份有29天");
                break;
            default:
                System.out.println("月份输入错误");
                break;
            }
        }

    十、第10题

    输入星期,打印出该星期是休息日还是工作日。

    public void test10()
        {
            System.out.println("第10题");
            System.out.println("输入星期,打印是不是工作日");
            String date=new Scanner(System.in).next();
            switch (date) {
            case "星期一":
            case "星期二":
            case "星期三":
            case "星期四":
            case "星期五":
                System.out.println("当前是工作日");
                break;
            case "星期六":
            case "星期日":
                System.out.println("当前是休息日");
                break;
            default:
                System.out.println("输入的不是星期");
                break;
            }
        }

    十一、第11题

    编程输入整数a和b,若a或b大于100,则输出a,b的和与100的差,否则输出两数之和。

    public void test11()
        {
            System.out.println("第11题");
            System.out.println("输入两个数做运算");
            Scanner s=new Scanner(System.in);
            double a=s.nextDouble();
            double b=s.nextDouble();
            if(a>100|b>100)
                System.out.println(a+"+"+b+"-100="+(a+b-100));
            else
                System.out.println(a+"+"+b+"="+(a+b));
        }

    十二、第12题

    输入员工登记A、B、C级,判断其加薪数量,加薪数量对应为500、300、100(switch语句)。录入其他级别,输出“其他级别输入错误”提示信息。

    public void test12()
        {
            System.out.println("第12题");
            System.out.println("请输入员工等级计算涨薪");    
            String grade=new Scanner(System.in).next();
            switch (grade) {
            case "A":
                System.out.println("涨薪500");
                break;
            case "B":
                System.out.println("涨薪300");
                break;
            case "C":
                System.out.println("涨薪100");
                break;
    
            default:
                System.out.println("输入等级错误");
                break;
            }
            
        }

    十三、第13题

    随意输入一个数字1-7,判断是周几,除此以外的输入被认为不合法,输出“无效输入”提示信息。(switch语句写)

    public void test13()
        {
            System.out.println("第13题\n输入数字转换成星期");
            int num=new Scanner(System.in).nextInt();
            switch (num) {
            case 1:
                System.out.println("星期一");
                break;
            case 2:
                System.out.println("星期二");
                break;
            case 3:
                System.out.println("星期三");
                break;
            case 4:
                System.out.println("星期四");
                break;
            case 5:
                System.out.println("星期五");
                break;
            case 6:
                System.out.println("星期六");
                break;
            case 7:
                System.out.println("星期日");
                break;
    
            default:
                System.out.println("输入错误");
                break;
            }
        }

    十四、第14题

    输入月份,打印出该月份是什么季节。

    public void test14()
        {
            System.out.println("第14题");
            System.out.println("输入月份将输出是什么季节");
            int month=new Scanner(System.in).nextInt();
            switch (month) {
            case 1:
            case 2:
            case 3:
                System.out.println("当前月份是春天");
                break;
            case 4:
            case 5:
            case 6:
                System.out.println("当前月份是夏天");
                break;
            case 7:
            case 8:
            case 9:
                System.out.println("当前月份是秋天");
                break;
            case 10:
            case 11:
            case 12:
                System.out.println("当前月份是冬天");
                break;
            default:
                System.out.println("输入月份错误");
                break;
            }
        }

    十五、第15题

    输入员工等级A、B、C级,判断其加薪数量,加薪数量对应为500、300、100(switch语句)。录入其他级别,输出“其他级别输入错误”提示信息。
    1. 评分标准:
    (1) 正确实现输入(10分)
    (2) 正确使用switch语句判断(10分)
    (3) 正确输入其它级别(10分)
    (4) 正确输出结果(10分)
    (5) 代码注释(5分)

    public void test15()
        {
            System.out.println("第十五题");
            System.out.println("输入员工等级计算薪资");//提示输入信息
            String grade=new Scanner(System.in).next();
            switch (grade)//使用switch进行选择判断 
            {
            case "A":
                System.out.println("涨薪500");
                break;
            case "B":
                System.out.println("涨薪300");
                break;
            case "C":
                System.out.println("涨薪100");
                break;
            default:
                System.out.println("等级输入错误");
                break;
            }
        }
         
  • 相关阅读:
    Hyper-V无法启动虚拟机因为虚拟机监控程序未运行
    SpringBoot项目中自动加载datasourceConfig配置导致启动失败
    redis 数据类型与命令
    Redis入门与安装,与配置
    MySQL 主从配置
    MySql 中的事务
    什么是Docker?
    window10下安装Docker
    Docker 常见命令
    原生SQL语句
  • 原文地址:https://www.cnblogs.com/lumc5/p/15092677.html
Copyright © 2020-2023  润新知