40是算中年还是少年,这有点模糊,按提示代码输入则是少年,还有就是18,18并不是18岁以下,不应该是童年,但按提示输入的话则18岁是归结于童年

来源:4-3 Java条件语句之多重 if

qq_慕先生8113192

2018-12-14 00:22

题目有点模糊

写回答 关注

3回答

  • cok1可乐
    2018-12-14 16:41:32
    已采纳

     public static void main(String[] args) {
            int age=25;
        if(age<18){
            System.out.println("童年");
        }else if(age>=18&&age<=40){
            System.out.println("少年");
        }else if(age>=40&&age<=60){
            System.out.println("中年");
        }else{
            System.out.println("老年");
        }
        }按照它题目的意思应该是这样打,为什么输入40的时候会显示少年而不是中年呢。因为他这个if语句是按照顺序来执行的,25先去第一条那里,不满足条件,去下一条,在第二天满足条件,输出语句,结束。不执行下面的代码。

    cok1可乐

    第二天改为第二条

    2018-12-14 16:43:39

    共 1 条回复 >

  • zhijin_peng
    2018-12-17 10:22:37

    (age>=18&&age<40) 输入40才是中年,这里你输入了=40 首先他就满足了少年,就当然输出少年了

  • qq_慕先生8113192
    2018-12-14 00:26:51

    所以我觉得else if(age>18)应该改为else if(age>=18),这样的话输入age=18的时候才会归结于少年

Java入门第一季(IDEA工具)升级版

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

1165552 学习 · 17587 问题

查看课程

相似问题