黑马程序员技术交流社区

标题: 关于IF语句的问题!求助,哪里出错了? [打印本页]

作者: 韩增亮    时间: 2011-9-20 17:11
标题: 关于IF语句的问题!求助,哪里出错了?
class demo
{
    public static void main(String[] args)
    {
   
        int x=4;
        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+"月份不存在");
     }

}
错误提示:
D:\java\day2>javac if1.java
if1.java:9: 运算符 || 不能应用于 boolean,int
         else if(x==6||x=7||x==8)
                     ^
if1.java:9: 运算符 || 不能应用于 int,boolean
         else if(x==6||x=7||x==8)
                          ^
if1.java:11: 运算符 || 不能应用于 boolean,int
        else if(x==9||x=10||x==11)
                    ^
if1.java:11: 运算符 || 不能应用于 int,boolean
        else if(x==9||x=10||x==11)
                          ^
if1.java:13: 运算符 || 不能应用于 boolean,int
        else if(x==12||x=1||x==2)
                     ^
if1.java:13: 运算符 || 不能应用于 int,boolean
        else if(x==12||x=1||x==2)
                          ^
作者: 匿名    时间: 2011-9-20 18:02
[code]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+"冬季"); [/code]其中7,10,和1写成了赋值语句
作者: 匿名    时间: 2011-9-20 23:11
二个等号 被你写成了一个等号,含义变了。一个等号表示赋值,二个等号才是判断是否相等。
作者: 匿名    时间: 2011-9-21 09:49
汗,要仔细检查代码哦。到了复杂的代码,一个字符写错就要检查好几个小时。
作者: 匿名    时间: 2011-9-21 14:12
class demo
{
    public static void main(String[] args)
    {
   
        int x=4;
        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+"月份不存在");
     }
作者: 匿名    时间: 2011-9-21 17:27
=和==的含义被你弄错了,一个=表示给变量赋值,两个=表示判断这两个值是否相等。。。
作者: 匿名    时间: 2011-9-21 20:23
标题: 修改成功,谢谢各位!好长时间没写代码了
class demo
{
    public static void main(String[] args)
    {
   
        int x=4;
        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+"月份不存在");
     }

}
作者: 匿名    时间: 2011-9-22 13:03
逻辑运算符:用于连接boolean类型的表达式。
作者: 匿名    时间: 2011-9-22 15:25
以上说的都对
作者: 匿名    时间: 2011-9-23 18:39
标题: 做程序员最重要的是细心
做程序员最重要的是细心,不允许有丝毫的差错,包括一个标点符号、中英文区分,楼主显然是大意了




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