verschachtelte for-schleifen

JAVAC1

Mitglied
hallo, ich verstehe das prinzip dieser methode vollkommen, aber ich verstehe nicht, warum in der zweiten for-schleife nur bis "...length-1" gezählt wird. steht die -1 dort nicht, gibts ne out-of-bounds-exception:

Java:
for(int j=0; j<arr.length; j++) {		
			for(int i=0; i<arr.length-1; i++) {		//wenn dort nicht die -1 steht, gibts ne 
				if(arr[i]>arr[i+1]) {                       //out.of.bounds.exception!
					int tmp = arr[i];		
					arr[i]=arr[i+1];
					arr[i+1]= tmp;
				}
			}
		System.out.println(arr[j]);   	
		}

gruß
 
Das liegt an der Zeile
Java:
if(arr[i]>arr[i+1])
Wenn du an der letzten Stelle deines Arrays angelangt bist, vergleichst du es trotzdem mit array.length+1, dadurch fliegt die Exception.
 
ahhh danke!habs jetzt kapiert.weil man ja sonst am letzten element mit dem nächsten vergleichen würde, was ja nicht existiert.cool!
 

Neue Themen


Zurück
Oben