Bonjour ,
voila j'aimerais savoir comment faire pour compter le lettre d'un string sous java..
Merci bien d'avance
Bonjour ,
voila j'aimerais savoir comment faire pour compter le lettre d'un string sous java..
Merci bien d'avance
Pense à utiliser la Javadoc.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 public int length()
Merci pour votre reponse,
mais la chaine peut comporter des numéros ,de caractères spéciaux, des lettres,...
et je veux compter les lettres cetout
Ah pardon, je n'ai pas compris ce que tu voulais.
Ceci dit, en consultant la Javadoc, tu peux trouver la méthode charAt qui te permet d'extraire un caractère.
Tu n'as plus qu'à parcourir ta chaine et tester le caractère extrait.
j'essayé mais je ne sait comment comparer chaque caractere avec 26 lettre, pour me comprendre voilà notre essai:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 for (int i=0;i<ch.length();i++) { char x =ch.charAt(i); char xx = x.toLowerCase()
Comme ca, ca devrai marcher.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 int nbLettre = 0; for (int i = 0; i < ch.length(); i++){ if(!Characters.isDigit(ch.charAt[i])){ nbLettre++; } }
Autre solution:
48 correspond au code du clavier du 0 et 57 du 9.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 int nbLettre = 0; char test; for(int i = 0; i < ch.length(); i++){ test = ch.charAt[i]; if((test < 48) && (test > 57){ nbLettre++; } }
Doit y avoir des soluces plus élégante pour faire ça... je suis un peu brute
La javaDoc est mon amie, elle est la tienne aussi!
En y regardant de plus près, y a beaucoup plus simple dans la classe Character, tu devrai regarder la fonction isLetter() qui fait exactement ce que tu veux. Mes solutions consideres les caracteres speciaux comme des lettres et c'est pas ce que tu veux.
La javaDoc est mon amie, elle est la tienne aussi!
Salut,
Cordialement,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 //import java.util.regex.Pattern; //import java.util.regex.Matcher; int nbreLettres = 0; String chaine = "Abcd efg 123 hij Zywv é à è ê"; Pattern pattern = Pattern.compile("[a-z[A-Z][é][à][è][ê]]"); Matcher matcher = pattern.matcher(chaine); while(matcher.find()) { nbreLettres++; } System.out.println("\nNombre de lettres: " + nbreLettres);
Dan
Merci bien,
le problème maintenant est résolu
Marchait aussi en écrivant les lettres directement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 int nbLettre = 0; char test; for(int i = 0; i < ch.length(); i++){ test = ch.charAt[i]; if( (test >= 'a' && test <= 'z') || (test >= 'A' && test <= 'Z')) { nbLettre++; } }
Alors, attention, il y a la méthode isLetter(), oui, mais il faut bien vérifier si c'est ce qu'on veut.En y regardant de plus près, y a beaucoup plus simple dans la classe Character, tu devrai regarder la fonction isLetter() qui fait exactement ce que tu veux.
Ça vérifie si c'est une lettre au sens Unicode. Ça inclut les lettres accentuées, et c'est bien, mais aussi les lettres grecques, russes, arabes, hébreuses, le chinois, le japonais, les symboles mathématiques sous forme de lettres...
Bref, passablement plus que de A à Z. Attention à s'en rappeler.
N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
Ca renvoi bien 14, soit le nombre de lettre, neanmoins l'utilisation du pattern/matcher semble bien plus propre (quoique que peut etre plus difficile a saisir)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 int nbLettre = 0; String ch = "'Abcd @efg &123 + -_hij Zywv)"; for (int i = 0; i < ch.length(); i++){ if(Character.isLetter(ch.charAt(i))){ nbLettre++; } } System.out.println(nbLettre);
La javaDoc est mon amie, elle est la tienne aussi!
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager