为了账号安全,请及时绑定邮箱和手机立即绑定

if(40<age<60)这样写为什么不行?

public class HelloWorld {

    public static void main(String[] args) {

int age=25;

if (age > 60){

   System.out.println("老年");

}else if(40<age<60){

   System.out.println("中年");

}else if(age>18 && age<40){

   System.out.println("少年");

}else if(age<18){

   System.out.println("童年");

}



正在回答

5 回答

计算机识别不了连续的大小比较的,再说你的一个if写了大于60,紧接着的else if里面直接写大于40就行! 

1 回复 有任何疑惑可以回复我~

你的程序还有一个问题,就是if 与else的对应关系,最后一个应该是else.

0 回复 有任何疑惑可以回复我~
#1

慕九州4223353 提问者

谢谢,以后注意
2017-09-17 回复 有任何疑惑可以回复我~
#2

慕仙3315794 回复 慕九州4223353 提问者

Java中可以不配对
2019-06-25 回复 有任何疑惑可以回复我~

没必要这样转牛角尖。你这样就像是大街上,人家穿鞋走路很正常,而你非要赤脚走路而且感觉没毛病的那种。

0 回复 有任何疑惑可以回复我~
#1

慕九州4223353 提问者

哈哈,发现错误得及时解决。
2017-09-05 回复 有任何疑惑可以回复我~

那个位置的if如果大于60,程序就还是执行上段,if>40 相当于就表达了在40到60之间,而且if语句好像没有这种在范围的写法。

0 回复 有任何疑惑可以回复我~

因为if语句是boolean,而age的定义是int,改成40 < age && age< 60就可以了。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

if(40<age<60)这样写为什么不行?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信