import java.util.ArrayList;
import java.util.Random;
public class ArrayDome {
static ArrayList[] a = new ArrayList[9];
static ArrayList[] b = new ArrayList[9];
public  ArrayList<Integer> setRan(){
Random random = new Random();
ArrayList<Integer> list = new ArrayList<Integer>();
 while(true){
int number = random.nextInt(10);
if(!list.contains(number)&&number!=0){
list.add(number);

if(list.size()==9){
break;
}
}
}
 return list;
}
public static void main(String[] args) {
ArrayDome f= new ArrayDome();
a[0]= f.setRan();
b[0].add(a[0].get(0));
}
}
最后会报一个空指针的异常Exception in thread "main" java.lang.NullPointerException
at nineGame.ArrayDome.main(ArrayDome.java:25)
求教是什么原因,怎么解决呢?

解决方案 »

  1.   

    public static void main(String[] args) {
    Test f = new Test();
    a[0] = f.setRan();
    b[0].add(a[0].get(0));//b[0]默认为null,可以在使用之前new一下,比如b[0]=new ArrayList();
    }
      

  2.   

    static ArrayList[] a = new ArrayList[9];
    static ArrayList[] b = new ArrayList[9];不知道楼主为什么会这样????
    直接把数据放到ArrayList 里面不就可以了
      

  3.   

    static ArrayList[] b = new ArrayList[9]; 这个是一个ArrayList的数组,b[0]应该指向一个ArrayList的一个对象,但你b[0]没有初始化,所以b[0] = null ,那么b[0]再调用add方法肯定会报空指针异常。
      

  4.   

    楼主要学会贴代码public class Demo {
        public static void main(String[] args) {
            if (args.length == 0) {
                System.out.println("no args.");
            }
        }
    }像楼主的代码层级多,又没有排版,没法看。
      

  5.   

    在调用ArrayList里的元素时不能为null,不然就会报错
      

  6.   

    ArrayList不可以添加null,Java表示不同意。