J'essaie de créer un jeu du pendu en Java et je me demandais s'il y avait un moyen de créer un tableau de caractères
du même caractère en fonction du nombre de lettres dans une chaîne .
Par exemple, si l'utilisateur saisit un mot de 5 lettres
, alors un tableau de caractères
est créé avec 5 traits de soulignement
.
C'est ce que je J'ai essayé jusqu'à présent en vain:
Cannot invoke toCharArray() on the array type String[]
Le message d'erreur que je reçois est:
System.out.println("Enter a word to guess"); String wordToGuess = input.nextLine(); String array[] = {"_", "_", "_",}; char underscore[] = array.toCharArray();
5 Réponses :
String[] sArray = {"_", "_", "_",}; String s = ""; for (String n:sArray) s+= n; char[] c = s.toCharArray();
Inclure une explication améliorerait la qualité de votre réponse.
La méthode toCharArray () n'est disponible que sur String, pas sur String []. C'est pourquoi l'erreur se produit.
Vous pouvez joindre tous les éléments du tableau, puis les convertir en caractères. Par exemple. String.join ("", tableau) .toCharArray ()
Le moyen le plus simple de le faire est le suivant
char[] chars = new char[userinput.length()] ; Arrays.fill(chars, '_') ;
Vous pouvez obtenir la longueur de la chaîne et gérer cela en transformant votre texte en CHAR ARRAY , comme dans l'exemple ci-dessous:
public static void main(String[] args) { String testString = "This Is Test"; int stringLength = testString.length(); //Maybe you can use this. char[] arrayName = testString.toCharArray(); //And here you can manage your array for (int i = 0; i<=testString.length()) { System.out.println(char[i]); } }
Essayez ceci:
//creates a char array the same size as the word the user has given char[] underscore = new char[wordToGuess.length()]; //fills all the items in the underscore array with '_' character Arrays.fill(underscore, '_');