黑马程序员技术交流社区

标题: if语句嵌套没有报错,但是不输出结果 [打印本页]

作者: 奋斗的蜗牛ksd    时间: 2014-11-3 20:00
标题: if语句嵌套没有报错,但是不输出结果
/**
* @author 哇哈哈
*  主要练习了if结构
*/
public class test4 {
        //需求1:根据用户定义的数值不同,打印对应的星期
        //需求2:根据用户指定的岳父,打印该所属的季节
        public static void main(String[] args)
        {
        //分析 3,4,5,春天,6,7,8夏天,9,10,11,秋天,12,1,2冬天
        int a=2;
                if(a>12&&a<1)
                {
                        System.out.println("it is not a availibe numeber");
                }
                        else
                                {
                                if(a>=3&&a<=5){
                               
                                        {System.out.println(a+"is春天");}
                               
                                                {
                                                if(a>=6&&a<=8)
                                               
                                                                {
                                                                System.out.println(a+"is夏天");
                                                                }
                                                else
                                                        if(a>=9&&a<=10)
                                                                {System.out.println(a+"is秋天");}
                                                        else
                                                                {System.out.println(a+"is冬天");}
                                                }
                                }
               
       
                }
        }
}

作者: 奋斗的蜗牛ksd    时间: 2014-11-3 20:02
其实也是顺便来混分的。。。求回复求分数,,
作者: zhaitong1991    时间: 2014-11-3 20:27
这种循环看起来很累啊 感觉括号左右对不上吧
作者: wangshuying    时间: 2014-11-3 20:38
格式不对,太乱了
作者: 肌肉男小虎    时间: 2014-11-3 20:48
格式就不说了,太乱了,还有你确定你的语句是对的么
作者: 李桂中    时间: 2014-11-3 21:03
主要是结构混乱。很多都是else if后面大括号包含大括号。所以导致输出语句无效。
作者: 2014heima    时间: 2014-11-3 21:06
太乱了,看着头晕,(a>12&&a<1)这条件定义的,,当然不会有输出吧,
作者: 李桂中    时间: 2014-11-3 21:06
/**
* @author 哇哈哈
*  主要练习了if结构
*/
public class test4 {
        //需求1:根据用户定义的数值不同,打印对应的星期
        //需求2:根据用户指定的岳父,打印该所属的季节
        public static void main(String[] args)
        {
        //分析 3,4,5,春天,6,7,8夏天,9,10,11,秋天,12,1,2冬天
        int a=2;
                if(a>12&&a<1)
                                        {System.out.println("it is not a availibe numeber");}
                else/*{*/if(a>=3&&a<=5)
                                        //{       
                                                {System.out.println(a+"is春天");}
                                        //{
                                        else if(a>=6&&a<=8)
                                                {System.out.println(a+"is夏天");}
                    else if(a>=9&&a<=10)
                         {System.out.println(a+"is秋天");}
                    else
                         {System.out.println(a+"is冬天");}
                                              //  }
                              //  }
               
        
               // }
        }
}
作者: 李桂中    时间: 2014-11-3 21:09
楼主啊。你打那么多空格干嘛。我照着你的修改,用了制表符的地方最后跟你的空格对不上,又乱了。刚才排版排的好好的。:'(
作者: wingtheu    时间: 2014-11-5 09:11
代码不紧凑
作者: chuck_heima    时间: 2014-11-5 17:06
zhaitong1991 发表于 2014-11-3 20:27
这种循环看起来很累啊 感觉括号左右对不上吧

括号对不上,确实看着很累眼:handshake
作者: chuck_heima    时间: 2014-11-5 17:11
/*
需求2 : 根据用户指定月份,打印该月份所属季节
        3 4 5属于春季;6 7 8夏季; 9 10 11秋季; 12 1 2 冬季
*/

class IfDemo02
{
        public static void main(String[] args)
        {
                int x = 13;
               
                if(x==3||x==4||x==5)
                        System.out.println(x+"春季");
                else if(x==6 || x==7 || x==8)
                        System.out.println(x+"夏季");        
                else if(x==9 || x==10 || x==11)
                        System.out.println(x+"秋季");        
                else if(x==12 || x==1 || x==2)
                        System.out.println(x+"冬季");
                else
                        System.out.println(x+"月份不存在");
        }
}
class IfDemo03
{
        public static void main(String[] args)
        {
                int x = 13;
               
                if (x>12||x<1)
                        System.out.println(x+"月份不存在");
                else if(x>=3&&x<=5)
                        System.out.println(x+"春季");
                else if(x>=6&&x<=8)
                        System.out.println(x+"夏季");        
                else if(x>=9&&x<=11)
                        System.out.println(x+"秋季");
                else
                        System.out.println(x+"冬季");



        }
}

这是毕老师视频上的两种写法!





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