public static void main(String[] args) { int number = 2;
List ex  = new ArrayList();
String [][] arr = new String[number][];
for (int j = 0; j < 8; j++) {
if (number > 0) {
for (int i = 0; i < number; i++) {
arr[i][j] = "a";
}
}
}
for(int i = 0;i<arr.length;i++){
for(int j=0;j<arr[i].length;j++){
System.out.println(arr[i]);
}
}
}

解决方案 »

  1.   

    String[][] arr = new String[number][8];
      

  2.   


    这样定义
    String[][] arr = new String[number][];

    这样使用
    arr[i][j] = "a";不和谐所致第二维没有指定维数,即没初始化,更不能直接赋值了。
      

  3.   

    多谢,感谢啊,再看看这个为什么也是空指针啊,这个弄好了就太感谢了,立刻结帖。public static void main(String[] args) { int number = 2;

    List [] elother  = new ArrayList[number];
    for (int j = 0; j < 8; j++) {
    if (number > 0) {
    for (int i = 0; i < number; i++) {
    elother[i].add(String.valueOf(i));
    }
    }
    }

    for(int i=0;i<elother.length;i++){
    Iterator it = elother[i].iterator();
    while(it.hasNext()){
    System.out.println(it.next());
    }
    }
    }
      

  4.   

    二维数组
    public class Test2 {
    public static void main(String[] args) throws Exception { int number = 2;
    List ex = new ArrayList();
    String[][] arr = new String[number][];
    for (int i = 0; i < arr.length; ++i) {
    arr[i] = new String[8];
    }
    for (int i = 0; i < number; i++) {
    for (int j = 0; j < 8; j++) {
    arr[i][j] = "a";
    }
    }
    for (int i = 0; i < arr.length; i++) {
    for (int j = 0; j < arr[i].length; j++) {
    System.out.println(arr[i][j]);
    }
    } }
    }
      

  5.   

    List [] elother = new ArrayList[number];为什么这么定义呢?
    List elother = new ArrayList();就可以了!!!而且elother[i].add(String.valueOf(i));不用这么写啊!!!
    elother.add(String.valueOf(i));就可以了阿!!!
      

  6.   

    楼上正解。
    for (int i = 0; i < number; i++) {
    //加上这句
    elother[i] = new ArrayList();elother[i].add(String.valueOf(i));
    }
      

  7.   

    int number = 2; List[] elother = new ArrayList[number];
    for (int j = 0; j < 8; j++) {
    if (number > 0) {
    for (int i = 0; i < number; i++) {
    elother[i] = new ArrayList();
    elother[i].add(String.valueOf(i));
    }
    }
    } for (int i = 0; i < elother.length; i++) {
    Iterator it = elother[i].iterator();
    while (it.hasNext()) {
    System.out.println(it.next());
    }
    }
      

  8.   

    简单!= 容易大家都没理解我的问题,我自己已经解决了
    int number = 2;

    List [] elother  = new ArrayList[number];

    if (number > 0) {
    for (int i = 0; i < number; i++) {
    elother[i] = new ArrayList();
    }
    }


    for (int j = 0; j < 8; j++) {
    if (number > 0) {
    for (int i = 0; i < number; i++) {
    elother[i].add(String.valueOf(i));
    }
    }
    }


    for (int i = 0; i < number; i++) {
    for(int j=0;j<elother[i].size();j++){
    System.out.println(elother[i].get(i));
    }
    }
      

  9.   

    不是告诉你了
    elother[i]没有初期化
    么?
    你家的处理不就是初期化么?所以不要说大家没有理解你的问题,而是你没有理解大家的回答
      

  10.   

    List [] elother  = new ArrayList[number];
    这个过程并没有完成初始化,只是声明了一个含有2个元素的List数组,并且规定其实例化类型为ArrayList,就是缺少了最后实例化的步骤。须如此:
    List[] elother = new ArrayList[]{new ArrayList(),new ArrayList()};
      

  11.   

    那你
    for (int i = 0; i < number; i++) {
    elother[i] = new ArrayList();
    }这样的处理是在干什么呀?
    其实完全可以在这个时候做
    for (int j = 0; j < 8; j++) {
    if (number > 0) {
                                        elother[i] = new ArrayList();
    for (int i = 0; i < number; i++) {
    elother[i].add(String.valueOf(i));
    }
    }
    }不过LZ刚学JAVA不久,就自认为无敌天下,分不要也罢
      

  12.   

    for (int i = 0; i < number; i++) {
    //加上这句
    elother[i] = new ArrayList();elother[i].add(String.valueOf(i));
    }
    都回答成这样了,还说不是你想要的顶楼上地。
    “不过LZ刚学JAVA不久,就自认为无敌天下,分不要也罢”
      

  13.   

    herozc(小飞侠)兄弟请看你的程序:for (int j = 0; j < 8; j++) {
    if (number > 0) {
                                        elother[i] = new ArrayList();
    for (int i = 0; i < number; i++) {
    elother[i].add(String.valueOf(i));
    }
    }
    }elother[i] = new ArrayList();
    你这个i从何而来?
    不管herozc(小飞侠)朋友学了多久java,沉不下心来看我的代码那就是枉然啊,说别人之前掂量掂量自己的分量
      

  14.   

    楼主有逃分嫌疑,问题本质人家都已经回答了,随便搪塞一句“不是我想要的结果”就可以否认别人的劳动成果,问问题前和问题后判若两人,难道这就是传说中的rpwt?