82 votes

Conversion d'un caractère en majuscule

String lower = Name.toLowerCase();
int a = Name.indexOf(" ",0);
String first = lower.substring(0, a);
String last = lower.substring(a+1);
char f = first.charAt(0);
char l = last.charAt(0);
System.out.println(l);

Comment puis-je convertir les variables F et L en majuscules ?

0 votes

Quelle partie des réponses à votre question précédente n'avez-vous pas comprise ? Ma réponse contient une réponse à cette question.

0 votes

@shep - Pouvez-vous accepter la réponse de BalusC ? Cela aidera les futurs chercheurs.

5voto

Likhith Kumar Points 88
System.out.println(first.substring(0,1).toUpperCase()); 
System.out.println(last.substring(0,1).toUpperCase());

1 votes

Pouvez-vous expliquer votre réponse ?

0 votes

First.substring(0,1) récupère la sous-chaîne qui se trouve à l'indice 0 de la chaîne et applique ensuite la méthode toUpperCase à cette chaîne, ce qui vous donnera le premier caractère de cette chaîne en majuscule.

2voto

Asaf Points 3203

Si vous incluez le bocal apache commons lang dans votre projet, la solution la plus simple est de le faire :

WordUtils.capitalize(Name)

s'occupe de tout le sale boulot pour vous. Voir la javadoc aquí

Vous pouvez également utiliser la méthode capitalizeFully(String) qui met également en minuscules le reste des caractères.

2voto

Vous pouvez appliquer la fonction .toUpperCase() directement sur les variables de type String ou comme attribut des champs de texte. Ex : -

String str;
TextView txt;

str.toUpperCase();// will change it to all upper case OR
txt.append(str.toUpperCase());
txt.setText(str.toUpperCase());

0voto

Praveen Points 1278

Je pense que vous essayez de mettre en majuscule le premier et le dernier caractère de chaque mot dans une phrase avec un espace comme délimiteur.

Peut être fait par StringBuffer :

public static String toFirstLastCharUpperAll(String string){
    StringBuffer sb=new StringBuffer(string);
        for(int i=0;i<sb.length();i++)
            if(i==0 || sb.charAt(i-1)==' ' //for first character of string/each word
                || i==sb.length()-1 || sb.charAt(i+1)==' ') //for last character of string/each word
                sb.setCharAt(i, Character.toUpperCase(sb.charAt(i)));
     return sb.toString();
}

-1voto

Roman Points 21807

La solution la plus simple dans votre cas est de modifier la première ligne pour qu'elle fasse exactement le contraire :

String lower = Name.toUpperCase ();

Bien sûr, cela vaut la peine de changer son nom aussi.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X