Une tâche a été définie pour convertir chaque caractère d'une chaîne en * sauf pour les espaces de cette chaîne (la chaîne est entrée par l'utilisateur), le seul inconvénient est que je dois utiliser une boucle for. Mon code est ci-dessous ... le problème actuel que je rencontre est que lorsque j'essaie d'utiliser le char dans une condition d'instruction if, j'obtiens une erreur "Type mismatch: impossible de convertir du char en booléen". Toute aide appréciée ...Java: comment convertir chaque caractère d'une chaîne en '*' à l'exception des espaces
public static void main(String[] args) {
//declare vars
Scanner input = new Scanner(System.in);
String name = "";
int length = 0;
//get name string
System.out.println("Enter your name");
name = input.nextLine();
//get length of name string
length = name.length();
//convert name string to array of characters
char[] nameChars = name.toCharArray();
//iterate over array of chars replacing each
// char with * and space with space
for (int index=0;index==length;index++){
//if the char is a space then do nothing
if (nameChars[index] = ' ') {
//else convert to *
} else {
nameChars[index] = '*';
}
}
//convert array back to string and output
String newName = new String(nameChars);
System.out.println(newName);
//close resources
input.close();
}
'String newName = name.replaceAll (" \\ S "," * ")' –