Ich habe Probleme mit diesem Fehler versucht, das Array aus einer Textdatei zu füllen. Ich denke es könnte etwas mit meiner if
Schleife zu tun haben, aber ich bin mir nicht sicher. Es gibt mir den Out-of-Bounds-Fehler unter myData[9]
. Was ich tun möchte, ist zu überprüfen, ob der erste Buchstabe ein ist (was bedeutet, dass der folgende Kram ein Update ist), und dann ein Update-Objekt zu machen. Meine update.txt
Datei hat nur 10 Dinge darin zu bevölkern myData
mit, weshalb ich bin verwirrt, warum myData[9]
gibt mir einen Fehler außerhalb der Grenzen (speziell wo ich versuche, es gleich lastThirty
setzen).Array-Index Out of Bounds Fehler beim Auffüllen aus einer Textdatei
scan = new Scanner(file);
while (scan.hasNext())
{
String str = scan.nextLine();
String[] myData = str.split("#");
if (myData[0].equalsIgnoreCase("D"))
{
recordType = myData[0];
actionCode = myData[1];
boxID = Integer.parseInt(myData[2]);
movieID = Integer.parseInt(myData[3]);
movieTitle = myData[4];
movieGenre = myData[5];
releaseYear = myData[6];
inStock = myData[7];
totalRentals = Integer.parseInt(myData[8]);
lastThirty = Integer.parseInt(myData[9]);
updates[count] = new UpdateRecord(recordType, actionCode, boxID, movieID, movieTitle, movieGenre, releaseYear, inStock, totalRentals, lastThirty);
count++;
}
Der Inhalt der Datei ist wie folgt:
H#Title Town Video Mart Updates#04\24\2016
D#A#4#5#Harry Potter#Action#2001#True#50#5
D#A#4#5#Shutter Island#Suspense#2001#True#50#5
D#A#4#5#The Blind Side#Drama#2001#True#50#5
D#A#4#5#Borat#Comedy#2001#True#50#5
D#A#4#5#Bad GrandPa#Comedy#2001#True#50#5
T#Title Town Video Mart Updates#04\24\2016#5
Ihr Array scheint kein Objekt in Index 9 zu haben. Zeigen Sie uns Ihre Datei. – Gendarme
Entweder eine Ihrer Zeilen hat weniger als 10 Einträge oder die Datei hat mehr Zeilen, als Ihr 'updates' Array halten kann (Sie möchten vielleicht eine' List' anstelle eines Arrays fester Größe machen). Es wäre einfacher, wenn Sie angegeben hätten, in welcher Zeile Ihres Codes der Fehler aufgetreten ist. –
Es tritt in Zeile 17 des obigen Ausschnitts auf. Das Aktualisierungsobjekt-Array hat eine Größe von 200, und es gibt nur 5 Updates in der Datei, so dass dies kein Problem sein sollte. Ich habe nur die TXT-Datei überprüft, und jedes Update hat 10 Elemente, der Update-Konstruktor hat 10 Elemente, und ich gebe 10 Dinge hinein. – Thomas