Ich versuche, eine Textdatei zu analysieren, die wie folgt aussieht:Array außerhalb der Grenzen Ausnahme
1 400.0 -1.6533271 5.7718643
2 401.0 -1.6596413 5.7751263
3 402.0 -1.6656540 5.7781345
4 403.0 -1.6713679 5.7808704
5 404.0 -1.6767864 5.7833152
Also habe ich die folgende Methode gemacht haben separat jede dieser Werte zu erhalten:
void parseFile(String filepath) throws FileNotFoundException, IOException {
FileReader filereader = new FileReader(filepath);
BufferedReader buffreader = new BufferedReader(filereader);
String s;
while ((s = buffreader.readLine()) != null) {
String[] tab = s.split(" ");
double number = parseDouble(tab[0]);
double lambda = parseDouble(tab[1]);
double re = parseDouble(tab[2]);
double im = parseDouble(tab[3]);
}
}
private double parseDouble(String s) {
if (s == null || s.isEmpty()) {
return 0.0;
} else {
return Double.parseDouble(s);
}
}
Und wenn ich versuche, lambda
Wert zu verwenden (es meine ArrayList
hinzugefügt werden):
mylist.add(lambda);
I eine Ausnahme in Zeile, wo lambda
erklärt:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
Was mache ich falsch?
Wenn Sie google nach dem Titel Ihrer Frage gesucht haben, was haben Sie gefunden? Oder wenn Sie Ihren Code mit einem Debugger durchgegangen sind, was haben Sie gefunden? –
Sind Sie sicher, dass Sie 4 Werte erhalten, wenn Sie nach '' '" "' '' ??? Eine bessere Idee besteht darin, Tabulator zu iterieren, aber nicht auf Werte nach Index zuzugreifen. –
Wie initialisierst du Mylist Arraylist? –