import java.util.*;
class TryRandom
{ Random rand=new Random();
 public static void main(String [] args)
  { int [] a;
    int i=rand.nextInt(20);
    System.out.println("i is:"+i);
    a=new int[i];
    System.out.println("length of a = " + a.length);
    for(int j = 0; j < a.length; i++)
      System.out.println("a[" + j + "] = " + a[j]);
    
  }
}

解决方案 »

  1.   

    1 能编译通过码? static的main能访问non-static的rand?
    2 i++,能改变j < a.length的结果吗?
      

  2.   

    3,if/for/while...统统加上{},即使里面只有一行
      

  3.   

    for(int j = 0; j < a.length; i++)i++ 加到死 j < a.length这个条件也是true阿打错字了,同志j++
      

  4.   

    还有 建议
     
    a=new int[i + 1];
      

  5.   

    编译也通不过吧   for(int j = 0; j < a.length; i++)
                        i++ //跟j没关系,j=0 没改变 错误好多