Fehler in der MuLö, Aufgabe 4? IndexOutOfBoundException

Gast
Gast

Fehler in der MuLö, Aufgabe 4? IndexOutOfBoundException

Beitrag von Gast » 9. Mär 2014 09:30

Hi ich bin gerade dabei meine Fehler aus der Aufgabe 4 zu fischen. Nun bin ich an der folgenden stelle auf einen immer wieder kehrenden Fehler gestoßen.


if(j==-1){
Product[] neueListe = this.liste.clone();
liste=new Product[neueListe.length+4];
for(int i=0; i<neueListe.length;i++){
this.liste=neueListe;
}

Ich bekomme immer eine IndexOutOfBoundException. Mitlerweile habe ich einfach nur die Musterlösung abgeschrieben, der Fehler kommt jedoch immer noch.

n.s
Gast

Re: Fehler in der MuLö, Aufgabe 4? IndexOutOfBoundException

Beitrag von n.s » 9. Mär 2014 14:32

hallo,
bist du hier überhaupt richtig??!
welche Mlösung meinst du?
in Ai1 wurde das thema Listen nicht behandelt!!

Gast
Gast

Re: Fehler in der MuLö, Aufgabe 4? IndexOutOfBoundException

Beitrag von Gast » 9. Mär 2014 20:37

Ja das bin,

ich rede vom Quiz. Der name der Variable hat nichts damit zu tun, was sie tatsächlich beinhaltet.

Es ist das beispielt mit dem Kassenbon und ich versuche den Einkaufszettel zu erweitern von 4 Plätzen auf 8... ;)

midstar
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 172
Registriert: 29. Dez 2013 17:00

Re: Fehler in der MuLö, Aufgabe 4? IndexOutOfBoundException

Beitrag von midstar » 10. Mär 2014 02:57

Habe die Aufgabe selbst nicht behandelt, möchte nur versuchen zu helfen, kann natürlich falsch liegen:


if(j==-1){
Product[] neueListe = this.liste.clone();
liste=new Product[neueListe.length+4];
for(int i=0; i<neueListe.length;i++){
this.liste=neueListe;
}

Angenommen neueListe.length hat eine länge von 4, dann ist die folgende länge 8.
Die forschleife darunter läuft aber nur die neueListe.length ab, sprich die länge von 4?
Sollen hier wirklich nur die untersten Einträge quasi übertragen werden?

Wenn die arrayoutofboundsexception in deiner markierten leiste geworfen wird, dann liegt der fehler vllt in der clone() methode?

Oder verstehe ich etwas falsch?

Gast
Gast

Re: Fehler in der MuLö, Aufgabe 4? IndexOutOfBoundException

Beitrag von Gast » 10. Mär 2014 08:31

Hi Midstar, ja es sollen wirklich nur die unterstens Einträge übertragen werden. Die Aufgabenstellung ist so formuliert, dass man zuerst mit einem Array von der Länge vier arbeiten soll und sobald der fünfte Gegenstand kommt erweitert werden auf 8. Mein Ansatz war ohne die clone() Methode-->Einträge in ein Zwischenarray kopieren, die Liste erweitern und dann aus dem Zwischenarray alle einträge wieder rein. Das hat aber genauso nicht funktioniert, aus dem selben Grund. Die Cloen Methode wird aber auch von der Java API gestellt und wird so in der Musterlösung verwendet.

Rein vom Gedanken her meine ich, dass es eigentlich funktionieren müsste =(

Antworten

Zurück zu „Archiv“