Gibt es eine Java-Methode, mit der man die Chars in einem String zufällig anordnen kann?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Hey,

du musst deinen Shuffle einfach solange ausführen, bis das Wort nicht mehr das ist, was es ursprünglich war. Das hier wäre mein Ansatz:

public String shuffleString(String s) {
    if (s.length() < 2) {
        throw new IllegalArgumentException("The string must be longer than 1 character");
    }
    String result;
    Random random = new Random();

    char[] chars = s.toCharArray();
    do {
        for (int i = 0; i < s.length(); i++) {
            int randomIndex = random.nextInt(chars.length);
            char temp = chars[i];
            chars[i] = chars[randomIndex];
            chars[randomIndex] = temp;
        }
        result = new String(chars);
    } while (result.equals(s));
    return result;
}
Woher ich das weiß:eigene Erfahrung
Ich habe so eine Methode gecoded, aber leider bekomme ich es nicht hin, dass das gleiche Wort nicht nochmal erstellt werden soll.

Dann merke dir das Original und führe deinen Shuffle-Code in einer Schleife so lange aus, bis die sich unterscheiden

Woher ich das weiß:Studium / Ausbildung – Abgeschlossenes Studium der Informatik (B.Sc.)
Wolf999504 
Fragesteller
 15.11.2022, 23:33

ich habe das wort jz mit dem original verglichen, aber falls das wort gleich ist, wird mit mein sysout an der stelle im array ein "null" reingesetzt...

for(int j = 0; j < 1; j++){

String splitRight = randomize(splittedVoc[1]);

if(splitRight.equals(splittedVoc[1])){

j--;

break;

} else {

String splitLeft = splittedVoc[0]; vocabList[i] = splitLeft + " " + splitRight;

}

0