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;
        }
    }
     
原文地址:https://www.cnblogs.com/lumc5/p/15092677.html