public class Test {
public static void main(String[] args) {
String count = "12";
if(count!=null)
int temp = Integer.parseInt(count);
}
}

解决方案 »

  1.   


    if(count!=null){
        int temp = Integer.parseInt(count);
    }
    加对大括号就可以了
     
    至于为什么 不知道不过不管判断后面是不是只有一句代码 加大括号是良好的习惯 有利于代码的阅读
      

  2.   

    为什么不能通过?
    if(count!=null)
                int temp = Integer.parseInt(count);
    这个吗?当你if后面没写大括号的时候,分号之前的语句当作为{}内容
      

  3.   

    加了大括号是可以呀。
    可以我就是有些不解。编译器这样为什么不让过......
    默认for啊,while,if啊后面只有一句话的时候可以不加大括号的,但是不能定义新的局部变量。估计是这个固定。只有在{}中才能定义局部变量
      

  4.   

    java puzzles里有详细的解释奥。
      

  5.   

    int temp = Integer.parseInt(count); temp的生命周期就一句话,这样的代码有意义吗?既然没有意义,干脆就不让你过。我这样想而已。
      

  6.   

    本人初学java一个多月吧。
    对于楼主提出的问题我的意见是:
      一般情况下,
    public class Test {
        public static void main(String[] args) {
            String count = "12";
            if(count!=null)
                int temp = Integer.parseInt(count);//此处的语句加不加大括号是没关系的,但是具体能不能执行                                                   //我就不知道了。呵呵在网吧。没办法测试。不好意思。
        }
    }
      

  7.   

    不可以的,无论是 for,while或者if如果后面没有大括号就只能是一条语句或者一个表达式,不能是变量声明。
      

  8.   

    public class Test { 
        public static void main(String[] args) { 
            String count = "12"; 
            if(count!=null) 
                int temp = Integer.parseInt(count);////////////////<-----
        }
    }
    错在这里,if 后面如果你非要只写一句话那它就只能是一条语句或者一个表达式,不能有声明,如果有声明的话,实际就相当于两句了,就要用{}括起来