a3未初始化加入:
    a3 = new String[a2.length];

解决方案 »

  1.   

    String a3[]=null;当然会出NullpointerException了
      

  2.   

    public class A { public static void main(String[] args) {
    String a1="1,2,3";
    String a2[]=a1.split(",");
    String a3[]=new String[a2.length];
    int i=0;
    while(a2[i]!=null)
    {
    switch(Integer.parseInt(a2[i]))
    {
     case 1:a3[i]="image1";break;
     case 2:a3[i]="image2";break;
     case 3:a3[i]="image3";break;
     default:a3[i]=null;
    }
    System.out.println(a3[i]);
    i++;

    }   
       System.out.println("ok!"); 
    }
    }
    现在又有java.lang.ArrayIndexOutOfBoundsException: 3
    Exception in thread "main" 
    a2[i]!=null怎么会出错阿?
      

  3.   

    a2的长度只有3个a2[0],a2[1],a2[2]
    当你判断到a2[3]的时候,超出了数组的元素个数。
    可以用数组的长度作为判断条件。
      

  4.   

    方法中的变量不会自动初始化,因此在使用前一定要初始化,这也是Java语言的一种安全机制,数组变量在使用前一定要初始化其所能指向的数组对象,要有确定的维数