我对Java很新。我试图在这个多维数组的末尾添加一个名称。
String[][] cartoons = new String [][] {
{ "Flintstones", "Fred", "Wilma", "Pebbles", "Dino" },
{ "Rubbles", "Barney", "Betty", "Bam Bam" },
{ "Jetsons", "George", "Jane", "Elroy", "Judy", "Rosie", "Astro" },
{ "Scooby Doo Gang", "Scooby Doo", "Shaggy", "Velma", "Fred", "Daphne" } };
cartoons[0][5] = "VELMA";
System.out.println(cartoons[0][5]);
正如你所看到的,它被抛出了界限。
run:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5
at javaapplication2.JavaApplication2.main(JavaApplication2.java:46)
Java Result: 1
我在这里做错了什么?
答案 0 :(得分:2)
cartoons[0]
中有5个元素,表示从cartoons[0][0]
到cartoons[0][4]
的访问索引
在这里
漫画[0] [5] =" VELMA&#34 ;;
您想要访问实际超出范围的第6个索引
这就是你获得
的原因线程中的异常" main" java.lang.ArrayIndexOutOfBoundsException:5 在javaapplication2.JavaApplication2.main(JavaApplication2.java:46)
答案 1 :(得分:0)
在java中,数组不可调整大小,但您可以使用list:
List<List<String>> parentList = new ArrayList<>();
// initialize the parent list
for (String[] strs : cartoons) {
ArrayList<String> subList = new ArrayList<>();
subList.addAll(Arrays.asList(strs)); // initialize the sub list
parentList.add(subList);
}
parentList.get(0).add("VELMA"); // add the element
System.out.println(parentList.get(0).get(5));