Comment puis-je mélanger les lettres d'un mot?
Quel est le moyen le plus facile à mélanger les lettres d'un mot qui est dans un tableau? J'ai quelques mots dans un tableau et j'ai à choisir au hasard un mot, mais que je tiens aussi à mélanger les lettres.
public static void main (String[] args ) {
String [] animals = { "Dog" , "Cat" , "Dino" } ;
Random random = new Random();
String word = animals [random.nextInt(animals.length)];
System.out.println ( word ) ;
//I Simply want to shuffle the letters of word
}
Je suis censée ne pas utiliser cette Liste de chose. Je suis venu avec quelque chose comme ça, mais avec ce code, il tirages aléatoires de lettres, il n'est pas aléatoire. Peut-être que je peux la coder quelque chose comme ne pas imprimer si cette lettre est déjà imprimé?
//GET RANDOM LETTER
for (int i = 0; i< word.length(); i++ ) {
char c = (word.charAt(random.nextInt(word.length())));
System.out.print(c); }
}
Montrer uw ce que vous avez essayé 🙂
double possible de Comment shuffle caractères dans une chaîne de caractères
J'ai déjà visité cette page la liste des utilisations et je ne peux pas l'utiliser.
ajoutez ensuite à cette exigence dans votre question. De Plus, il y a quelques réponses que ne pas utiliser des listes
réfléchir à nouveau sur votre shuffle méthode. vous imprimez un caractère aléatoire, mais n'ont aucune protection contre l'impression que le même personnage à chaque fois. vous devez supprimer les caractères à partir de la parole que de les imprimer.
double possible de Comment shuffle caractères dans une chaîne de caractères
J'ai déjà visité cette page la liste des utilisations et je ne peux pas l'utiliser.
ajoutez ensuite à cette exigence dans votre question. De Plus, il y a quelques réponses que ne pas utiliser des listes
réfléchir à nouveau sur votre shuffle méthode. vous imprimez un caractère aléatoire, mais n'ont aucune protection contre l'impression que le même personnage à chaque fois. vous devez supprimer les caractères à partir de la parole que de les imprimer.
OriginalL'auteur morgothraud | 2013-12-14
Vous devez vous connecter pour publier un commentaire.
Vraiment pas besoin pour la collecte et rien de plus que ce qui suit:
a.length-1
lorsque la condition est<
plutôt que d'utilisera.length
. Lorsque la limitation de< a.length-1
le dernier caractère reste toujours à la même place. Lors de l'utilisation de< a.length
etrandom.nextInt(a.length)
le dernier caractère obtient également considéré dans le battage du processus, mais d'autres que cette solution a travaillé un régal! Grâce à @RastikanJ'ai édité l'algorithme également shuffle le dernier caractère que par mes propres test et @mkli90 commentaire.
OriginalL'auteur Rastikan
Vous pouvez utiliser
Collections.shuffle
:Ensuite, vous pouvez créer deux
StringBuilder
objets. On tiendra le mot d'origine et on va créer le mélangées :Ici vous pouvez trouver quelques belles utilitaires de méthodes qui permet de mélanger un tableau.
Puis il suffit d'appeler cette méthode et utiliser le constructeur
String(char[] value)
:La prochaine fois, clairement, ce que vous pouvez utiliser/ne pas utiliser.
OriginalL'auteur Alexis C.
Comment quelque chose comme cela?
C'est le XOR de swap. en.wikipedia.org/wiki/XOR_swap_algorithm
OriginalL'auteur Elliott Frisch