Fehler bei der Sortierung eines Arrays

Status
Nicht offen für weitere Antworten.

Globemaster

Neues Mitglied
Hi,
ich habe folgendes Problem: Ich muss einen Array mit einem eigenen Verfahren von groß nach klein sortieren. Dies sieht bis jetzt so aus:

Java:
public class sortArray {

	
	public static void main(String[] args) {

		int[] zahlenfolge = {82,70,73,70,69,4,12,37,22,198};
		
		int max = 0, tausch = 0;
		
		for (int i = zahlenfolge.length; i >= 0; i--){
			max = i;
			for(int j = 0; j < i; j++){
				if (zahlenfolge[j] > zahlenfolge[max]){
					max = j;			
				}
			}			
			tausch = zahlenfolge[max];
			zahlenfolge[max] = zahlenfolge[i];
			zahlenfolge[i] = tausch;	
		}
		System.out.println(zahlenfolge[0]);
		System.out.println(zahlenfolge[1]);
		System.out.println(zahlenfolge[2]);
		System.out.println(zahlenfolge[3]);
		System.out.println(zahlenfolge[4]);
		System.out.println(zahlenfolge[5]);
		System.out.println(zahlenfolge[6]);
		System.out.println(zahlenfolge[7]);
		System.out.println(zahlenfolge[8]);
		System.out.println(zahlenfolge[9]);		

 	}

}

Leider wird mir dieser Fehler ausgegeben
Code:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 10
	at sortArray.main(sortArray.java:11)

Ich weiß leider nicht woran das liegt. Habe schon diverses ausprobiert und weiß leider nicht mehr weiter. Ich weiß nur, dass es irgendwas mit der schleife zu tun haben muss.

Vielen Dank schonmal für eure Mühe!

Globemaster
 

tfa

Top Contributor
Die Indizes eines Arrays gehen von 0 bis length-1. Du musst deine Schleife also bei zahlenfolge.length-1 beginnen lassen.
 
S

SlaterB

Gast
stell dir vor, du hast ein Array der Länge 1, deine Schleife
for (int i = 1; i >= 0; i--){
läuft dann von 1 bis 0,
also zwei Indexe, 1 und 0, in einem Array der Länge 1?!
 

Landei

Top Contributor
Zum Ausgeben des Arrays noch ein kleiner Tipp:
Java:
for(int i : zahlenfolge) {
   System.out.println(i);
}

oder

Java:
System.out.println(java.util.Arrays.toString(zahlenfolge));
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben