Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Hi, ich habe eine Übung in der ich eine Methode schreiben soll,welches ein int-Array übergeben bekommt. Dieses Array soll dann absteigend sortiert werden.
Hier mein Code:
Java:
package altklausur2015;
public class SortiereAbsteigend {
public static int[] sortiereAbsteigend(int[]feld){
int temp;
for(int i=0; i<feld.length;i++)
{
if(feld[i] > feld[i+1])
{
continue;
}
else
{
temp=feld[i];
feld[i]=feld[i+1];
feld[i+1]=temp;
}
}
return feld;
}
public static void main(String[]args){
int[]a=new int[]{5,8,7,12,9,6};
System.out.println(sortiereAbsteigend(a));
}
}
Wenn ich es ausführe kommt Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 6
at altklausur2015.SortiereAbsteigend.sortiereAbsteigend(SortiereAbsteigend.java:11)
at altklausur2015.SortiereAbsteigend.main(SortiereAbsteigend.java:30)
Ich finde meinen Fehler nicht vielleicht könnt ihr mir weiterhelfen.
Hi Danke für die schnelle Antwort! Es war doch so simpel ^^
Naja jetzt hab ich ein anderes Problem. Wenn ich es ausführe kommt jetzt
[I@139a55. So wie ich in der main das int-Feld an die Methode übergebe müsste das doch schon passen oder?
das "[I@139a55." ist das ausgegeben Array in System.out.println();
Du müsstest eine toString() methode schreiben, die das Array durch geht und an z.b. einen StringBuilder den Wert des aktuellen Elements vom Array anhaengt.
So z.b.
Java:
public String toString(int[] array) {
StringBuilder builder = new StringBuilder();
builder.append("{,");
for(int i = 0; i <array.length-1; i++) {
builder.append(array[i]).append(",");
}
builder.append("}");
return builder.toString();
}
Habe es jetzt nur hier im editor geschrieben, sollte aber funktionieren.
Edit: Bitte korrigiert mich wenn ich falsch liege, bzw. Wenn es einfachere Lösungen gibt.
Hoppala, fehler eingeschlichen! sollte jetzt passen
Wobei mit nur einem Schleifendurchlauf das Array doch noch nicht sortiert ist ... Dabei wandert ja nur die kleinste Zahl nach unten. Die Bubblesort (darum dürfte es sich dann ja handeln) ist damit noch nicht fertig implementiert.