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

Résolu
Sat83 Messages postés 166 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 13 octobre 2008 - 6 juin 2006 à 13:44
gmi19oj19 Messages postés 545 Date d'inscription lundi 10 mai 2004 Statut Membre Dernière intervention 28 septembre 2011 - 6 juin 2006 à 16:49
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

scaryman Messages postés 492 Date d'inscription vendredi 30 janvier 2004 Statut Membre Dernière intervention 16 mai 2007 12
6 juin 2006 à 14:08
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++
3
gmi19oj19 Messages postés 545 Date d'inscription lundi 10 mai 2004 Statut Membre Dernière intervention 28 septembre 2011 2
6 juin 2006 à 16:49
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'
3
Rejoignez-nous