Detection d'une String comportant uniquement des majuscules [A-Z] [Résolu]

Signaler
Messages postés
166
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
13 octobre 2008
-
Messages postés
545
Date d'inscription
lundi 10 mai 2004
Statut
Membre
Dernière intervention
28 septembre 2011
-
Bonjour, 

Je souhaiterais savoir comment faire pour savoir si une String est composé uniquement de lettres majuscules...

J'ai essayé çà:



   String tok = new String();
   [...]
   String upCase=new String(tok.toUpperCase());
    if (upCase.compareTo(tok)==0){
      // TRAITEMENT
   }


Le probleme, c'est que dans ce cas là, on effectue le traitement même quand la String de depart (tok) comprend des chiffres ou des caractères comme
';'  '-'   ':'  '('
. Commente faire pour effectuer le traitement uniquement si la String de départ comprend des lettres majuscules [A-Z].

Avez vous une idée?

Merci d'avance!

2 réponses

Messages postés
492
Date d'inscription
vendredi 30 janvier 2004
Statut
Membre
Dernière intervention
16 mai 2007
10
Salut
Ce que tu peux faire, c'est une boucle qui prend char par char et qui vérifie s'il est en majuscule:
boolean enMaj = true;
for(int i = 0; i < tok.length(); i++) {
if(!Character.isUpperCase(tok.charAt(i)))
enMaj = false;
}

A++
Messages postés
545
Date d'inscription
lundi 10 mai 2004
Statut
Membre
Dernière intervention
28 septembre 2011
2
Tu peux même cessez de boucler à la première minuscule :

boolean enMaj = true;
for(int i = 0; i < tok.length() && enMaj; i++) {
if(!Character.isUpperCase(tok.charAt(i)))
enMaj = false;
}

Au cas ou ça ne marche pas, reste le test :

A' <= chartAt(i) && chartAt(i) <= 'Z'