Résultat attendu:
public static void main(String args[]) {
String input = "heLlo wOrLd";
String output = input.substring(0, 1).toUpperCase() + input.substring(1).toLowerCase();
System.out.println(output);
}
4 Réponses :
Essayez ceci:
String input = "heLlo wOrLd";
String a []= input.split(" ");
String output = "";
for (String s:a){
output = output + s.substring(0, 1).toUpperCase() + s.substring(1).toLowerCase() + " ";
}
System.out.println(output);
Si vous souhaitez utiliser des flux, vous pouvez le faire:
String output = Arrays.stream(input.split(" "))
.map(word -> word.substring(0, 1).toUpperCase() + word.substring(1).toLowerCase())
.collect(Collectors.joining(" "));
Je présume que vous allez essayer d'autres phrases de mots. Ce code est efficace pour toute entrée.
String input = scanner.nextLine();
String[] array = input.split(" "); //separates the input by spaces
String output = "";
for (int i = 0; i < array.length; i++) {
String word = array[i];
String firstLetter = word.substring(0, 1).toUpperCase();
String otherLetters = word.substring(1, word.length()).toLowerCase();
word = firstLetter + otherLetters;
output += word + " ";
}
System.out.println(output);
Ceci est assez explicite. Il convertit simplement à une chaîne minuscule, scindre sur l'espace blanc puis remplace le premier caractère de chaque mot avec la version majuscule. ou flux (mais pas aussi efficace que la première méthode ). Il fait exactement la même chose, mais appelle un collectionneur pour remonter la chaîne en se joignant à un espace. P>
@Schared la sortie que je reçois: Bonjour World .... Sortie attendue: Bonjour World
Utilisez
.split ("") code> pour casser la phrase en fonction des espaces, appliquez votre code de sous-chaîne pour effectuer le boîtier supérieur / inférieur à chaque chaîne de la matrice renvoyée.Est-ce que cela répond à votre question? Comment capitaliser le premier caractère de chaque mot dans une chaîne
@Ohgodspiders no. Dans mon cas, certains caractères sont supérieurs et minuscules entre le mot. Je dois aussi faire en minuscule.
Votre titre de question et votre production attendue sont différentes
Notez que, si les réponses dans la duplication liée (possible) ne modifient que la première lettre de chaque mot, tout ce que vous avez à faire pour utiliser l'une des solutions dans la question liée est un
tolowercase () code> Sur votre chaîne source d'abord (utilisez l'une des méthodes pour capitaliser la première lettre de chaque mot).