slim2crazy Geschrieben 28. November 2010 Teilen 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 28. November 2010 Teilen Geschrieben 28. November 2010 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
slim2crazy Geschrieben 28. November 2010 Autor Teilen 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 28. November 2010 Teilen 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
slim2crazy Geschrieben 28. November 2010 Autor Teilen 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.