我创建了一个从文件中读取一堆数字的方法,将前两个数字作为数组的行和列长度,然后将其余数字转换为整数并将整数放入二维中阵列:
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]
?
答案 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]);