簡體   English   中英

Java 2D ArrayList

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM