slim2crazy Geschrieben 28. November 2010 Geschrieben 28. November 2010 (bearbeitet) 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 2010 von Klotzkopp Code-Tags hinzugefügt
Klotzkopp Geschrieben 28. November 2010 Geschrieben 28. November 2010 slim2crazy schrieb: 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. slim2crazy schrieb: Ü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.
slim2crazy Geschrieben 28. November 2010 Autor Geschrieben 28. November 2010 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
Klotzkopp Geschrieben 28. November 2010 Geschrieben 28. November 2010 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.
slim2crazy Geschrieben 28. November 2010 Autor Geschrieben 28. November 2010 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
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden