public class test
{
   int a ;
   int b ;
   b = 5 ;
   a = b + 1 ;
{
System.out.println(a) ;
}
}
编译出现错误;说b=5; a=b+1;需要标识符;是怎么回事?

解决方案 »

  1.   

    你就写成  int a = 0;
      

  2.   


    public void init
    {
     b = 5 ;
     a = b + 1 ;
     System.out.println(a);
    }
    你写在一个方法里面.
      

  3.   

    public class test
    {
      
      int b ;
      //b = 5 ;
      int a = b + 1 ;
    {
    System.out.println(1) ;
    }
    }b = 5 ;
      a = b + 1 ;
    基本类型的值在编译器要确定的,你写得要到运行期
      

  4.   


    改成这样子 应该可以 ,相当把变量的初始化放到非静态初始化块中
    public class test
    {
      int a ;
      int b ;
    {
      b = 5 ;
      a = b + 1 ;
    }
    {
    System.out.println(a) ;
    }
    }或者  放到方法体中初始化 public class test
    {
      int a ;
      int b ;
    public void init(){
      b = 5 ;
      a = b + 1 ;
      System.out.println(a) ;}//以下输出应该是0 ;因为还没有调用进入Test()前调用了此非静态初始化块
    {
    System.out.println(a) ;
    }public  Test(){
      init() ;
    }
    }
      

  5.   

    没有main()接口也不是applet 你是怎么运行的呀  这样?
    public class test
    {
    static int b =5;
    static int a = b + 1 ;;   
    public static void main(String args[])
    {
    System.out.println(a) ;
    }
    }
    6
      

  6.   

    赋值啊,
    好的编程习惯怎么能不给变量赋初始值:
    int a = 0 ;
      int b  = 0;