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

大佬们,哪里错了啊?谢谢

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(18<=age<40){

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

   }else if(0<age<18){

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

   }

}

}


提问者:ghcg 2017-08-29 12:50

个回答

  • Gir非碼農
    2017-08-29 20:30:56
    已采纳

    public class HelloWorld {
        public static void main(String[] args) {
            int age=25;
            if(age>=60){
                System.out.println("老年");
            }else if(40<=age && age<60){
                System.out.println("中年");
            }else if(18<=age && age<40){
                System.out.println("少年");
            }else if(0<age && age<18){
                System.out.println("童年");
            }
        }
     }

    这样改完就可以了,但是呢,实际上还可以改成下面这样↓

    public class HelloWorld {
        public static void main(String[] args) {
            int age=25;
            if(age>=60){
                System.out.println("老年");
            }else if(40<=age){
                System.out.println("中年");
            }else if(18<=age){
                System.out.println("少年");
            }else if(0<age){
                System.out.println("童年");
            }
        }
     }

    如果第一个if没有过去,自然会自带小于60的,没必要在后面条件再写了。

  • 刘一
    2017-08-29 12:53:12

    =等号是赋值的意思要用&&

       

      else if(40<age&&age<60){

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

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

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

      }else if(0<age&&age<18){

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