1
votes

Existe-t-il 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 en Java?

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();


0 commentaires

5 Réponses :


0
votes
String[] sArray = {"_", "_", "_",};
String s = "";
for (String n:sArray)
s+= n;
char[] c = s.toCharArray();

1 commentaires

Inclure une explication améliorerait la qualité de votre réponse.



0
votes

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 ()


0 commentaires

1
votes

Le moyen le plus simple de le faire est le suivant

char[] chars = new char[userinput.length()] ;
Arrays.fill(chars, '_') ;


0 commentaires

0
votes

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]);
    }
}


0 commentaires

0
votes

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, '_');


0 commentaires