[英]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.