黑马程序员技术交流社区

标题: 看下面的代码,有个问题想大神帮助解决! [打印本页]

作者: Laopozini123    时间: 2016-3-20 21:02
标题: 看下面的代码,有个问题想大神帮助解决!
class Student {
        private String name;
        private int age;

        public void setName(String name){
                this.name = name;
        }
        public String getName(){
                return name;
        }
        public void setAge(int stuage){
                if (stuage < 0 && stuage >= 120) {
                        System.out.println("输入的年龄有错误,请重新输入:");
                }else   {
                        age = stuage;
                                }
        }
        public int getAge(){
                return age;
        }
        public void introduce(){
                System.out.println("我的名字叫:" + name + ",我的年龄是:" + age);
        }
}
class a33 {
        public static void main(String[] args){
        Student st = new Student();
        st.setName("zhangsan");
        st.setAge(-16);
        st.introduce();
        }
}

setAge里面有个年龄的判断语句,if后面跟的是条件,为什么这么运行条件不运行,而是直接把-16的值赋给了age并输出。是不是形式参数不能用作这种的条件判断?或者是什么其他原因,请大神帮我解答,谢谢啦~


作者: cc19930915    时间: 2016-3-20 21:06
if (stuage < 0 && stuage >= 120)
作者: xiaofushen    时间: 2016-3-20 21:22
楼上那条语句&&改成||,不然这个条件就是false,永远不会执行,哪有什么输入是既<0又>=120的?
作者: Laopozini123    时间: 2016-3-20 21:26
xiaofushen 发表于 2016-3-20 21:22
楼上那条语句&&改成||,不然这个条件就是false,永远不会执行,哪有什么输入是既=120的? ...

感谢啊~  只想到了&&是一个为假则不执行,忘记了后面有执行语句的~谢啦~
作者: xiaofushen    时间: 2016-3-20 21:32
Laopozini123 发表于 2016-3-20 21:26
感谢啊~  只想到了&&是一个为假则不执行,忘记了后面有执行语句的~谢啦~

不客气.




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2