Zum Inhalt springen

Bubblesort Java


slim2crazy

Empfohlene Beiträge

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 von Klotzkopp
Code-Tags hinzugefügt
Link zu diesem Kommentar
Auf anderen Seiten teilen

ich habe auch eine Frage bezüglich Bubble-Sort. Ich besuche zur Zeit einen Java Kurs
Dann 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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...