如何使用从Java中的方法返回的数组

时间:2013-03-09 15:28:05

标签: java arrays methods multidimensional-array return

我创建了一个从文件中读取一堆数字的方法,将前两个数字作为数组的行和列长度,然后将其余数字转换为整数并将整数放入二维中阵列:

public static int[][] fillArray(String myFile){
    //uses another class to create a text field
    TextFileInput in = new TextFileInput(myFile); 

    int[][] filledArray;
    //uses a method in class TextInputFile to read a line then go to the next line
    String line = in.readLine();
    //int i=0;
    int row, col;
    row = Integer.parseInt(line);
    line = in.readLine();
    col = Integer.parseInt(line);
    filledArray = new int[row][col];
    for(int i=0; i<row; i++){
        for (int j=0; j<col; j++){
            line = in.readLine();
            filledArray[i][j] = Integer.parseInt(line);
        }
    }
    return filledArray;
}

我的问题是如何访问多元数组filledArray中的各个元素?如何,我如何在主要方法中打印filledArray[1][3]中的内容或添加filledArray[1][3]+filledArray[2][3]

3 个答案:

答案 0 :(得分:2)

fillArray方法将引用返回到它创建的数组。您所要做的就是在main方法中为此分配一个局部变量。

public static void main(String[] args) {
   int[][] arr = fillArray("file.txt");

   System.out.println(arr[1][3]);

   System.out.println(arr[1][3] + arr[2][3]);
}

您可以使用数组中的索引访问单个元素,例如arr[4][2]。请注意,不要生成 IndexOutOfBoundsException ,这就是为什么在for循环中检查数组长度是个好主意。

答案 1 :(得分:2)

只将存储的返回数组存储在本地

public static void main(String[]args){
  int[][]array = fillArray("fileName"); // call the method
  // traverse the array using a loop

  for(int i=0;i<array.length;i++)
    for(int j=0;j<array[i].length;j++)
     System.out.println(a[i][j]); // do something with elements 

 }

答案 2 :(得分:1)

您将获取fillArray(...)的结果,将其存储在变量中,然后使用它进行处理。

E.g。

int[][] filled=fillArray("file.txt");
System.out.println(filled[1][3]);
System.out.println(filled[1][3]+filled[2][3]);