语句数组不工作java

时间:2014-10-30 22:53:39

标签: java arrays arraylist

当我尝试使用Arrays打印出一个阵列来打印出我的2D ArrayList时,它说“阵列无法解析”

如果你不想打印出Arraylist,那你觉得怎么样?

这是我的代码:

package assignment2;
import java.util.*;;

public class BadmintonScoring {
static final int PLAYER1 = 1;
static final int PLAYER2 = 2; 

public static void main(String[] args){
ArrayList<Integer>[][] list = new ArrayList[2][26];
list[0][0] = new ArrayList<Integer>();
list[1][1].add(1);
list[2][2].add(2);

for(ArrayList<Integer>[] arr : list){
    System.out.println(Arrays.toString(arr));
}

}
}

3 个答案:

答案 0 :(得分:2)

你忘记了这些进口

import java.util.ArrayList;
import java.util.Arrays;

在下面一行中,您获得Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 5, Size: 0

list[0][0].add(5, 6);

<强>为什么

您使用add函数尝试将Integer添加到2D数组列表

  

public void add(int index,E element)

     

将指定元素插入此列表中的指定位置。   移动当前位于该位置的元素(如果有)和任何元素   右边的后续元素(在索引中加一个)。

您没有添加任何元素0到4,所以基本上它们都是空的。之后你将整数添加到索引5,这是你的例外。

最后一点

for(ArrayList<Integer>[] arr : list){
    System.out.println(Arrays.toString(list));
}

你需要打印出2D ArrayList的每个元素,这些元素将是arr

for(ArrayList<Integer>[] arr : list){
    System.out.println(Arrays.toString(arr));
}

答案 1 :(得分:2)

for(ArrayList<Integer>[] arr : list){
    System.out.println(Arrays.toString(list));
}

应该是:

for(ArrayList<Integer>[] arr : list){
    System.out.println(Arrays.toString(arr));
}

答案 2 :(得分:1)

你有几个拼写错误

public static void main(String[] args) {
    ArrayList<Integer>[][] list = new ArrayList[2][26];
    list[0][0] = new ArrayList<Integer>();
    list[0][0].add(5);
    list[0][0].add(6);

    for (ArrayList<Integer>[] arr : list) {
         System.out.println(Arrays.toString(arr));
    }
}