问答详情
源自:4-3 Java条件语句之多重 if

为什么不能是这样?

System.out.println(age > 60 ? "老年" : 40 < age && age < 60 ? "中年" : 18 < age && age < 40 ? "少年" : "童年");

为什么不能是这样 System.out.println(age > 60 ? "老年" : 40 < age && age < 60 ? "中年" : 18 < age && age < 40 ? "少年" : 0 < age ? "童年");

提问者:游鹿 2017-06-12 20:14

个回答

  • 慕婉清0689395
    2017-06-12 23:32:33

    System.out.println(age > 60 ? "老年" : 40 < age && age < 60 ? "中年" : 18 < age && age < 40 ? "少年" : 0 < age ? "童年":"不是人类");可以这样写啊,报错的原因是因为你最后只写了满足条件的,而没有写不满足条件的,你这样的写还是有一定好处的;比如输个-1进去上面的那个会输出童年,这明显有问题,这也是以后编程需要考虑的(要切合实际)。

  • qq_AndrewVanDyK_04053920
    2017-06-12 20:18:53

    最后错了,应该是age>0&&age<18才对,age>0已经包括以上全部的内容

  • 游鹿
    2017-06-12 20:16:38

    多余了