如何访问数组中的数组?

时间:2018-08-31 04:14:30

标签: java arrays

说我有一个.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

我的问题是,我将如何拥有它以便可以访问数组的特定部分,就像我将如何打印,让我们只说名称“ Indiana”或人口“ 6634007”一样?

P.S对不起,如果我的问题的标题没有意义,我不知道该怎么写。

3 个答案:

答案 0 :(得分:3)

在某个地方,您有一个名为State的类。 states是此类的数组。因此,您可以将吸气剂添加到State

public int getPop() {
    return pop;
}

像这样在您的对象上调用它:

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

states[0]只是一个State对象。

添加更多的吸气剂以访问不同的字段。

答案 1 :(得分:0)

根据您的问题,我可以理解的是,您正在使用 State 类来存储信息。在这种情况下,请检查存储第一个参数值的 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);

用于打印城市名称

OR

您可以像这样简单地使用索引打印值

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

答案 2 :(得分:0)

如果您只想打印每一行,可以尝试如下操作:

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
}