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

Langage Java Discussion :

Compter les mots d'une phrase [Débutant(e)]


Sujet :

Langage Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Compter les mots d'une phrase
    Bonjour a tous !
    Voilaa je suis toute nouvelle sur ce site et en meme temps dans la programation java

    et j ai un problème pour faire un exercice.
    Voici l exercice :

    Créer un programme demandant une phrase à l'aide d une boite de dialogue et affichant le nombre de mots présents dans cette phrase, egalement au moyen d une boite de dialogue.

    Mes codes sont les suivants :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    import javax.swing.JOptionPane;
     
    public class Phrase {
     
    	public static void main(String[] args){
     
    	String mot = JOptionPane.showInputDialog("Entrez une phrase ");
     
          String nombre = JOptionPane.showInputDialog("le nombre de mots et de : ");
    pourriez vous me dire comment faire pour qu il compte les mots?!

    merci d avance pour vos réponses

    [ Modéré par Viena ]
    Ajout d'un tag et modification du titre : Pour la compréhension de tous, utilisez un titre clair et les tags ! merci.
    Ajout balises de code : Pensez aux balises [code], votre message est plus lisible et la lecture plus facile.

    Les Règles du Forum

  2. #2
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Il faut que tu définisses ce qu'est un mot, en gros quels sont les séparateurs de mots : les espaces, les virgules, points virgules ...
    Après celà, tu recherches ces différents éléments dans la phrase.
    Il y a différents algos et sans doute une méthode java qui le fait très bien.

  3. #3
    Membre averti Avatar de soad
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    520
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2004
    Messages : 520
    Points : 439
    Points
    439
    Par défaut
    tout simplement comme ca:

    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
    16
    17
    18
     
    import javax.swing.JOptionPane; 
    import java.util.StringTokenizer;
     
     
    public class Phrase { 
     
    	public static void main(String[] args) {
     
    		String mot = JOptionPane.showInputDialog("Entrez une phrase "); 
     
    		StringTokenizer s = new StringTokenizer(mot, " ");
    		int nbreMot = s.countTokens();
     
    		JOptionPane.showMessageDialog(null,"le nombre de mots et de : "+nbreMot);
     
    	}
    }

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    merci bcp autrement j y serai tjrs

  5. #5
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Donc "salut,comment vas-tu ?" compte pour deux mots ?

  6. #6
    Membre averti
    Inscrit en
    Avril 2004
    Messages
    503
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 503
    Points : 445
    Points
    445
    Par défaut
    Citation Envoyé par Trap D
    Donc "salut,comment vas-tu ?" compte pour deux mots ?

    La mise en forme d'un texte en France est de mettre un espace après une virgule, mais il est vrai que l'utilisateur peut écrire comme il veut et le trait d'union lie les 2 mots, et à ce moment là le code donné se plante...
    Bien vu Trap D!

  7. #7
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 875
    Points : 22 939
    Points
    22 939
    Billets dans le blog
    53
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    StringTokenizer s = new StringTokenizer(mot, " \t,;:.?!_\"~`#{}[]*+/\\");
    ... et encore j'en ai oublie plusieurs... Ex : nottement pour les autres langues il faut rajouter les guillemets et les points d'interrogations inverses.
    Reste le pb du simple quote ' qui peut etre a la fois un separateur de chaine et une apostrophe et le moins - qui peut etre a la fois un separateur, un signe et un tiret.

  8. #8
    Membre averti Avatar de soad
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    520
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2004
    Messages : 520
    Points : 439
    Points
    439
    Par défaut re: Compter les mots d'une phrase
    Citation Envoyé par miss64
    j ai un problème pour faire un exercice.
    Citation Envoyé par Trap D
    Donc "salut,comment vas-tu ?" compte pour deux mots ?
    A mon avis le but d'un exercice est de comprendre le principe et pas forcément traiter tout les cas possibles !!!


  9. #9
    Gfx
    Gfx est déconnecté
    Expert éminent
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Points : 8 178
    Points
    8 178
    Par défaut
    Le mieux est d'utiliser la methode split() des chaines de caracteres (l'usage de StringTokenizer est maintenant deconseille en faveur de split) et d'utiliser "\\b" comme regex.

  10. #10
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut re: Compter les mots d'une phrase
    Citation Envoyé par saod
    A mon avis le but d'un exercice est de comprendre le principe et pas forcément traiter tout les cas possibles !!!
    Le principe de la définition d'un mot rentre bien dans le cadre pédagogique

  11. #11
    Membre régulier
    Inscrit en
    Octobre 2013
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Octobre 2013
    Messages : 91
    Points : 102
    Points
    102
    Par défaut
    bonjour, j'aimerais savoir ce qui se passe si on choisit d'utiliser la class Split.
    *je fais le meme exercice, actuellement

    Merci

  12. #12
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    Quelle classe Split ? Tu veux parler de la méthode split() de la classe String ? Cette méthode permet de découper une chaîne en indiquant un séparateur sous forme d'expression régulière, avec un contrôle sur le nombre d'éléments obtenus. Maintenant ta question ne veut rien dire : que se passe-t-il quand quoi avec la méthode split() ?

  13. #13
    Membre régulier
    Inscrit en
    Octobre 2013
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Octobre 2013
    Messages : 91
    Points : 102
    Points
    102
    Par défaut
    Merci,
    la methode split, oui pardon

Discussions similaires

  1. Réponses: 1
    Dernier message: 10/02/2010, 15h08
  2. [PHP 5.0] Rechercher les mots d'une phrase dans une table
    Par tutomania dans le forum Langage
    Réponses: 8
    Dernier message: 16/12/2009, 13h30
  3. Compter les mots dans une URL
    Par tochiro dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 27/11/2008, 09h38
  4. Extraire les mots d'une phrase
    Par SilkyRoad dans le forum Contribuez
    Réponses: 1
    Dernier message: 24/08/2007, 18h06
  5. Lister les mots d'une phrase
    Par krole57 dans le forum Delphi
    Réponses: 4
    Dernier message: 14/06/2006, 15h20

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