IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

nombre de lettres


Sujet :

avec Java

  1. #1
    Membre du Club Avatar de memo11
    Profil pro
    Étudiant
    Inscrit en
    Août 2009
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2009
    Messages : 132
    Points : 52
    Points
    52
    Par défaut nombre de lettres
    Bonjour ,
    voila j'aimerais savoir comment faire pour compter le lettre d'un string sous java..
    Merci bien d'avance

  2. #2
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    public int length()
    Pense à utiliser la Javadoc.

  3. #3
    Membre du Club Avatar de memo11
    Profil pro
    Étudiant
    Inscrit en
    Août 2009
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2009
    Messages : 132
    Points : 52
    Points
    52
    Par défaut
    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

  4. #4
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    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.

  5. #5
    Membre du Club Avatar de memo11
    Profil pro
    Étudiant
    Inscrit en
    Août 2009
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2009
    Messages : 132
    Points : 52
    Points
    52
    Par défaut
    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()

  6. #6
    Membre actif Avatar de Torg666
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2008
    Messages
    230
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2008
    Messages : 230
    Points : 254
    Points
    254
    Par défaut
    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++;
     }
    }
    Comme ca, ca devrai marcher.
    Autre solution:
    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++;
     }
    }
    48 correspond au code du clavier du 0 et 57 du 9.

    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!

  7. #7
    Membre actif Avatar de Torg666
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2008
    Messages
    230
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2008
    Messages : 230
    Points : 254
    Points
    254
    Par défaut
    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!

  8. #8
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mexique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 328
    Points : 459
    Points
    459
    Par défaut
    Salut,

    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);
    Cordialement,

    Dan

  9. #9
    Membre du Club Avatar de memo11
    Profil pro
    Étudiant
    Inscrit en
    Août 2009
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2009
    Messages : 132
    Points : 52
    Points
    52
    Par défaut
    Merci bien,
    le problème maintenant est résolu

  10. #10
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 554
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 554
    Points : 21 615
    Points
    21 615
    Par défaut
    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++;
     }
    }
    Marchait aussi en écrivant les lettres directement.

    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.
    Alors, attention, il y a la méthode isLetter(), oui, mais il faut bien vérifier si c'est ce qu'on veut.

    Ç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

  11. #11
    Membre actif Avatar de Torg666
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2008
    Messages
    230
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2008
    Messages : 230
    Points : 254
    Points
    254
    Par défaut
    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);
    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)
    La javaDoc est mon amie, elle est la tienne aussi!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Fonction de conversion de nombre en lettres
    Par david_chardonnet dans le forum Langage
    Réponses: 21
    Dernier message: 08/12/2021, 17h51
  2. [VB6 Debutant] separer les nombres et lettre !!
    Par maximus001ma dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 17/05/2006, 18h27
  3. Réponses: 5
    Dernier message: 10/02/2006, 10h02
  4. écrire un nombre en lettre
    Par dibak dans le forum Algorithmes et structures de données
    Réponses: 11
    Dernier message: 19/05/2004, 11h27
  5. Comment compter le nombre de lettre identique ?
    Par divableue dans le forum ASP
    Réponses: 3
    Dernier message: 07/11/2003, 15h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo