En Java, comment sélectionner au hasard une lettre (a-z)?
Si je veux choisir au hasard une lettre entre a et z, je suppose que je dois utiliser le Random
classe:
Random rand = new Random();
Mais puisque cela ne génère des nombres, que dois-je faire pour l'appliquer à lettres?
source d'informationauteur Kristof von Huetenberg
Vous devez vous connecter pour publier un commentaire.
Lettres, ou plus exactement, les personnages, sont des nombres (de 0 à 255 en ascii étendu, de 0 à 127 non étendu). Par exemple, en ASCII, " A " (citation signifie personnage, par opposition à la chaîne) est de 65 ans. Donc 1 + " A " serait vous donner 66 - 'B'.
Ainsi, vous pouvez prendre un nombre aléatoire de 0 à 26, ajouter le caractère 'a', et vous êtes ici : lettre aléatoire.
Vous pouvez aussi le faire avec une chaîne, en tapant "abcdefghijklmnopqrstuvwxyz" et de prendre une position aléatoire dans cette chaîne, mais Barker solution est plus élégante.
modifier la version de @Michael Barker
cela vous donne une chaîne de caractère unique
utiliser la valeur ascii des lettres pour générer le nombre aléatoire.
De sélectionner au hasard une lettre (a - z) je ferais le suivant:
Depuis Aléatoire.nextInt() génère une valeur de 0 à 25, il vous suffit d'ajouter un offset de 'a' pour produire les lettres minuscules.