簡體   English   中英

如何訪問陣列中的數組?

[英]How do I access an array within an array?

假設我有一個.txt文件,其中的信息被逗號分割為:

IN,Indiana,6634007

雖然這是一個訪問該文件並將其拆分的片段:

for(int i=0; i < count; i++) {
    line = bufferedReader2.readLine();
    String space[] = line.split(",");
    String abb = space[0];
    String nme = space[1];
    int pop = Integer.parseInt(space[2]);
    states[i] = new State(abb, nme, pop);
    }

這樣做的目的是可以訪問txt文件中的所有信息,因此例如這段代碼將打印出.txt文件中的確切內容:

System.out.println(states[0]);

會打印:

IN,Indiana,6634007

我的問題是,我怎么能擁有它以便我可以訪問數組的特定部分,如何打印讓我們只說“印第安納”或人口“6634007”?

PS我很抱歉,如果我的問題的標題沒有意義,我不知道如何說出來。

在某個地方,你有一個名為State的類。 states是此類的數組。 所以你可以在State添加一個getter:

public int getPop() {
    return pop;
}

並在您的對象上調用它,如下所示:

System.out.println(states[0].getPop());

因為states[0]只是一個State對象。

添加更多getter以訪問不同的字段。

從您的問題我可以意識到,您正在使用State類來存儲信息。 在這種情況下,請檢查存儲第一個參數值的狀態類。 稍后打印相應的信息,訪問其對象變量如SapuSeven所述。

例如。

public class State{
     public String a;
     public String b;
     public int c;
     public State(String x, String y, int z){
       a=x;
       b=y;
       c=z;
     } 
 }

現在你可以訪問了

System.out.println(states[0].b);

用於打印城市名稱

要么

你可以使用像這樣的索引來打印值

System.out.println(states[0].split(",")[2]);

如果你只想打印每一行,你可以嘗試如下:

public static void main(String[] args) throws Exception {

    BufferedReader reader = new BufferedReader(new FileReader("data.txt"));
    String line = null;
    List<String> list = new ArrayList<String>();
    while((line = reader.readLine()) != null ) {
        list.add(line);

    }

    System.out.println(list.get(0));

    // TODO realease resources
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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