Erste Schritte code wird nicht ausgeführt

calvados

Mitglied
guten tag. ich bin total neu in dieser materie und muss das halt für die uni machen. ich hab den code soweit fertig und alles scheint auch in ordnung zu sein eclipse zeigt mir auf jedne fall keine fehler an. dennoch kann mein java projekt nicht ausgeführt werden und ich versteh die fehler meldung nicht.
Vielleicht kann mir hier jemand helfen .

mfg

http://www7.pic-upload.de/01.08.12/englqxeisc2s.png

nebenbei ich hab absolut kein plan von fachbegriffen wäre super wenn man hier kinderfreundlich darauf antworten könnte ^^
 
Du greifst auf eine Array-Stelle zu die es nicht gibt. Und zwar auf Stelle 7 außerhalb der Grenzen. Das ganze passiert höchstwarscheinlich in ner for-Schleife

Wenn du uns etwas Code gibst können wir besser helfen 😉
 
Zuletzt bearbeitet:
In Zeile 32 Deiner Raum-Klasse (innerhalb der Methode berechneFlaeche) greifst Du auf einen Array zu und zwar mit Index 7. Diesen Index gibt es nicht. D.h. der Array ist zwar offenbar initialisiert, aber mit weniger als 7 Positionen.
 
einfacher wäre es, wenn du deinen Code hier in solche
Java:
-Tags  packst und die Exception dazu postest, anstelle auf ein externes Bild zu verweisen.

Du greifst auf ein Array an der 8 Stelle zu, das wahrscheinlich nur 7 Elemente besitzt (0-6)..
 
Moin,

augenscheinlich greifst Du in Deiner Funktion "berechneFlaeche" (Qellcode: raum.java - Zeile 32) mit falschen Index auf ein Array.

Ohne Code können wir nur spekulieren .... 😀

Aber möglicherweise hilft schon der Hinweis, dass bspw. bei einem Array mit 7 Stellen die Zugriffindexe von 0 .. 6 laufen !

Gruß
Klaus

[EDIT]
ui, da war ich aber seeeehr langsam :noe:
[/EDIT]
 
Also der Fehler, der hier auftritt ist eine "ArrayIndexOutOfBoundsException". Hintendran steht die Zahl 7.

Was bedeutet das? Du verwendest ein Array, aber einen zu großen Index. Wenn dein Array beispielsweise die Größe 7 hat (
Code:
int[] numbers = new int[7];
), dann wirft der Aufruf von
Code:
numbers[7]
eine solche Exception. In diesem Fall kann es sein, dass man nicht daran gedacht hat, dass Indizies bei Arrays nullbasiert sind, das erste Element ist also
Code:
numbers[0]
.

Und woher weißt du nun wo das passiert ist? Das steht in der zweiten Zeile. In der Datei Raum.java, Zeile 32, in der Methode
Code:
berechne()
der Klasse
Code:
Raum
.

Und ohne Code kann man dir wohl auch keine detaillierteren Lösungsvorschläge geben. 🙂

[EDIT]
[EDIT]
ui, da war ich aber seeeehr langsam :noe:
[/EDIT]
Und ich erst...
[/EDIT]
 
Java:
package raum;

		
		int n = ep.length;

		}
		raumflaeche = raumflaeche
				+ (((1.0) / (2.0)) * (ep[n].gety() + ep[1].gety()) * (ep[n]
						.getx() - ep[1].getx()));
	

}

das ist die klasse raum.. ^^danke für die schnelle hilfe ..
 
Zuletzt bearbeitet:
[JAVA=31] raumflaeche = raumflaeche
+ (((1.0) / (2.0)) * (ep[n].gety() + ep[1].gety()) * (ep[n]
.getx() - ep[1].getx()));[/code]

Da ist wohl das Problem. Du hast
Code:
n
als
Code:
ep.length
definiert. Aber da der Index nullbasiert ist, geht JEDES Array genau von 0 bis zu length-1. Was genau willst du da machen? Willst du das erste und letzte Element aus dem Array? Dann schreibt nicht
Code:
ep[n]
und
Code:
ep[1]
, sondern
Code:
ep[n-1]
und
Code:
ep[0]
.
 
omg es kommen werte raus. vielen vielen lieben dank .. ob die nun richtig sind ist mir eig egal hauptsache das ding läuft.. danke danke 😀
 

Zurück
Oben