28. November 201015 j ich habe auch eine Frage bezüglich Bubble-Sort. Ich besuche zur Zeit einen Java Kurs und wir sollen eine Liste von Zufallszahlen erstellen und sortiert ausgeben. mein bisheriger (fehlerhafter) Code: import Tools.IO.*; public class randomarray { public static void main(String[] args) { int n, m, temp; n = IOTools.readInteger(); m = IOTools.readInteger(); temp=0;//vertauschungsvariable int [] random = new int[m]; for (int i =0; i < random.length; i++) //erstellen einer Liste mit Zufallszahlen zwischen 1 und n. { random[i]=(int)(n*(Math.random()))+1; System.out.println(random[i]); } int [] zufall = new int[random.length]; for (int i = 0; i<random.length;i++) { zufall[i] = random [i];//erstellen einer kopie der Liste random //sortieren der kopierten Liste und Ausgabe: for (int k = 1; k < zufall.length; k++){ for(int l = 0; l<(zufall.length - k); l++) if(zufall[l]>zufall[l+1]){ temp = zufall[l]; zufall[l] = zufall[l+1]; zufall[l+1]=temp; System.out.println(zufall[k]); } } } }} Über Hinweise würde ich mich sehr freuen. mfg slim Bearbeitet 28. November 201015 j von Klotzkopp Code-Tags hinzugefügt
28. November 201015 j ich habe auch eine Frage bezüglich Bubble-Sort. Ich besuche zur Zeit einen Java KursDann häng dich bitte nicht an einen Thread im C-Forum. Ich trenne das mal ab und stecke es ins Java-Forum. Über Hinweise würde ich mich sehr freuen.Wir würden uns über eine Problembeschreibung freuen, die über "fehlerhafter Code" hinausgeht. Ich würde aber empfehlen, das Array erst dann auszugeben, wenn du mit dem Sortieren fertig bist.
28. November 201015 j Sorry, da habe ich nicht drauf geachtet. Der Fehler liegt im Sortier-algorithmus. Die Arrays random und zufall werden beide korrekt ausgegeben, bevor ich zufall sortieren lasse. Nach dem sortieren werden einige Zahlen durch null ersetzt und es verschwinden teile, bzw es kommt etwas hinzu. Nachdem ich due Ausgabe des sortierten Arrays aus der Sortierschleife rausgenommen habe: Ausgabe: für n, m =3 1 3 3 1 0 1 0 Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3 1 3 at randomarray.randomarray.main(randomarray.java:45) Java Result: 1
28. November 201015 j Du hast die Sortierschleifen in die Kopierschleife gesteckt. Du versuchst also, das Array zufall zu sortieren, bevor du es vollständig kopiert hast. -> Erst fertig kopieren, dann sortieren.
28. November 201015 j Vielen Dank für die Hilfe. Daran hat es gelegen. Und entschuldigung nochmals, wegen des falschen Posts vorhins. Kommt nicht wieder vor Danke sehr. mfg slim
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.