Chars in einem String alphabetisch sortieren

canyakan95

Bekanntes Mitglied
Hallo ich habe versucht folgendes zu machen:
Ich habe einen String"rspq"...und mit meinem programm soll folgendes rauskommen:
"pqrs"..
leider kriege ich nichts angezeigt, obwohl ich der überzeugung bin, dass mein programm funktionieren sollte.
Hier mein code .. hoffe ihr könnt mir da weiter helfen:
Mfg
Java:
public class StringAufgaben {
    public static void main (String[]args)
    {
        String str="rspq";
        sortiereZeichen(str);
    }  
public static void sortiereZeichen(String str)
    {
        char temp;
        for(int i=0;i<str.length()-1;i++)
        {
            char merke=str.charAt(i);
            char merke2=str.charAt(i+1);
            for(int j=1;j<str.length();j++)
            {
                if(str.charAt(i)>str.charAt(i+1))
                {
                    temp=merke;
                    merke=merke2;
                    merke2=temp;
                }
            }
        }
    }
}
 
Zuletzt bearbeitet von einem Moderator:
Ein ersichtliches Problem: Du verwendest in deiner if-Bedingung die Zählervariable "i", diese ändert sich aber in der inneren Schleife niemals. Daher ist die innere Schleife nutzlos.
Außerdem machst du nichts andere als die Werte von 2 lokalen char Variablen vertauschen. Das ändert aber nicht den String.
String sind immutable, daher musst du immer ein neues String Objekt erstellen mit den vertauschen Buchstaben oder du arbeitest mit einem char Array
 

Neue Themen


Zurück
Oben