[英]Java 2D ArrayList
因此,每当我运行程序并输入第二个选择时,它就会告诉我rangecheck错误,index0和size 0。
经过研究,我从中了解到arraylist为空,如何在2D arraylist中使用add函数?
| ABCDEFGHIJKLMNOPQRSTUVWX
- + ------------------------
01 | gggggggggggggggggggggggg
02 | gGGGGGGGGGGGGGGGGGGGGGGg
03 | gGggggggggggggggggggggGg
04 | gGgYYYYYYYYYYYYYYYYYYgGg
05 | gGgYggggggggggggggggYgGg
06 | gGgYggggggggggggggggYgGg
07 | gGgYggYYYYYYYYYYYYggYgGg
08 | gGgYggYggggggggggYggYgGg
09 | gGgYYYYggggggggggYYYYgGg
10 | gGggggggggggggggggggggGg
11 | gGGGGGGGGGGGGGGGGGGGGGGg
12 | gggggggggggggggggggggggg
package map;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.Scanner;
import java.util.ArrayList;
public class MapMain
{
public static void main(String [ ] args)
{
Scanner input = new Scanner(System.in);
InputStream is = null;
int i;
char c;
String T;
ArrayList<ArrayList<String>> Contain = new ArrayList<ArrayList<String>>();
for(int L = 0; L < 30; L++)
{
Contain.add(new ArrayList<String>());
}
try{
do{
int a=0;
String Elements;
System.out.print("To load map enter 1\nTo print loded map enter 2\nTo change specific elements press 3 ");
a=input.nextInt();
switch (a){
case 1 :
System.out.print("What is the file dest?");
T=input.nextLine();
is = new FileInputStream(T);
while((i=is.read())!=-1)
{
c=(char)i;
String O = "ankosh";
//Contain.add(Contain.O);
}
break;
case 2:
while(true)
{
String U = Contain.get(16).get(0);
//System.out.print(Contain);
break;
}
break;
case 3:
System.out.print("What do you want to insert?");
Elements=input.nextLine();
//switch (Elements){
//case
}
break;
} while(true);
}catch(Exception e){
// if any I/O error occurs
e.printStackTrace();
}finally{
}
}
}
您已经创建了数组数组及其包含的数组,到目前为止还可以。 现在,在情况2中,您尝试到达第16个数组的第一个元素(基本上是String类型),该元素为null,因为您尚未向该数组添加任何内容。 在尝试使用get(index)之前,您需要做的是检查数组的长度是否大于索引。 为了添加到数组:content.get(16).add(str);。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.