我创建了一个方法,该方法从文件中读取一堆数字,将前两个数字作为数组的行和列长度,然后将其余数字转换为整数,并将整数放入二维数组中:
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]
?
将返回的数组存储在本地数组
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
}
fillArray方法返回它所创建的数组的引用。你所要做的就是在你的主方法中给this赋一个局部变量。
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循环中检查数组长度是一个好主意。
您将获取fillArray(...)
的结果,将其存储在变量中,然后对其进行处理。
。
int[][] filled=fillArray("file.txt");
System.out.println(filled[1][3]);
System.out.println(filled[1][3]+filled[2][3]);