У меня возникли проблемы с доступом к моему 2D-массиву (myArray) за пределами этого цикла. Я хочу получить к нему доступ с помощью других методов, но я не могу даже получить доступ к нему в этом методе. Он печатается правильно, поскольку он зацикливается, но пробная печатьПочему я не могу получить доступ к своему 2D-массиву за пределами цикла?
System.out.println(myArray[10][2]);
всегда имеет значение null. Так что это похоже на то, что массив на самом деле не заполняется или что-то еще. Кто-нибудь знает, что я здесь делаю неправильно?
package titanic;
import java.io.*;
import java.util.*;
public class Titanic {
public static final int ROW = 1309;
public static final int COLUMN = 6;
public static String [][] myArray = new String[ROW][COLUMN];
public static String[][] arraySetup(){
int recordCounter = 0;
String[][] myArray = new String[ROW][COLUMN];
String[] name = new String [ROW];
try {
BufferedReader br = new BufferedReader(new FileReader("C:/Users/Tom/Desktop/Titanic.txt"));
String line;
for (int i = 0; i < 1309; i++){
while((line = br.readLine()) != null){
String tmp[] = line.split("\t");
myArray[i][0] = tmp[0];
myArray[i][1] = tmp[1];
myArray[i][2] = tmp[2];
myArray[i][3] = tmp[3];
myArray[i][4] = tmp[4];
myArray[i][5] = tmp[5];
System.out.println("myArray[i][5] = " + myArray[i][5]);
recordCounter++;
}
}
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(myArray[10][2]);
System.out.println(recordCounter + " records.");
return myArray;
}
Сколько строк данных в вашем входном файле? Сколько вы читали? –
Спасибо всем за помощь в первую очередь. Поэтому я исправил его так, чтобы массив инициализировал правильно, но теперь я не могу получить доступ к нему из других методов. Этот метод возвращает myArray, но по какой-либо причине значения имеют значение null в других методах. Не знаете, как это исправить. – AnecdotalEvidence
@AnecdotalEvidence Обновите свой вопрос. – hrust