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 :

Compter les occurences dans une chaîne de caractères


Sujet :

avec Java

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2012
    Messages : 9
    Points : 11
    Points
    11
    Par défaut Compter les occurences dans une chaîne de caractères
    Bonjour,

    Je débute en programmation et je dois créer un programme Java permettant de savoir combien d'occurrences d'une chaine, il y a dans une autre.

    Voici la question précise :
    Après avoir saisi 2 chaînes de caractères, compter combien de fois la 2ième chaîne se retrouve dans la 1ière.
    Afficher les deux chaînes saisies et la réponse (le nombre de fois).
    Exemple : Chaîne 1 : « Un bon chasseur doit savoir chasser sans son chien » Chaîne 2 : « ch » Réponse : La chaîne 2 se retrouve 3 fois dans la chaîne 1.

    - La 1ière chaîne saisie doit être d’une longueur minimum de 4 caractères.
    - La 2ière chaîne saisie doit être d’une longueur minimale d’un caractère et plus courte que la première.
    - Les saisies doivent être validées avec feedback à l’utilisateur.
    - La seule fonction appartenant à la classe « String » qui est possible d’utiliser est la méthode « length() ».
    Quelqu'un saurait-il me guider un peu car je ne sais pas comment faire, surtout que la seule fonction permise de la classe String est la methode length() ?

    Merci d'avance pour votre aide.

  2. #2
    Traductrice
    Avatar de Mishulyna
    Femme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2008
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

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

    Informations forums :
    Inscription : Novembre 2008
    Messages : 1 504
    Points : 7 840
    Points
    7 840
    Par défaut
    Bonjour,

    La méthode "length()" retourne un Integer, les Integer peuvent servir comme compteurs de boucle.

    Navrée d'apprendre que ce genre d'exercice existe encore, je l'ai eu en C moi...
    Chaque fois que tu dis "je ne peux pas", n'oublie pas d'ajouter le mot "encore".

  3. #3
    Candidat au Club
    Femme Profil pro
    Étudiante de Mr Zoom
    Inscrit en
    Octobre 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiante de Mr Zoom
    Secteur : Services de proximité

    Informations forums :
    Inscription : Octobre 2012
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Bonjour,

    J'ai le même problème à réaliser et je n'y arrive pas non plus.

    Mishulyna, as-tu encore ton code car ça pourrait nous aider ?

  4. #4
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2012
    Messages : 9
    Points : 11
    Points
    11
    Par défaut
    Bonjour Myshulyna,
    Merci tout d'abord de m'avoir répondu.

    Auriez-vous assez de temps libre pour me faire un petit exemple de code car bien que j'y réfléchisse, je n'arrive pas à comprendre comment résoudre ce problème.

    Il s'agit d'un problème parmi d'autres que l'on me demande de faire et c'est le seul qui me pose réellement un problème.

    Quelqu'un serait-il en mesure de nous donner un exemple de code ?

    Merci d'avance.

  5. #5
    Traductrice
    Avatar de Mishulyna
    Femme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2008
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

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

    Informations forums :
    Inscription : Novembre 2008
    Messages : 1 504
    Points : 7 840
    Points
    7 840
    Par défaut
    Bonsoir,

    Le code C est sur un autre ordi...
    Il me semble qu'on ne vous a pas interdit de copier les caractères d'une chaîne dans un tableau de char et boucler dedans à votre aise.
    C'est ce que j'ai fait à l'époque car le type de variable String n'existe pas en C...
    Chaque fois que tu dis "je ne peux pas", n'oublie pas d'ajouter le mot "encore".

  6. #6
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 557
    Points : 21 616
    Points
    21 616
    Par défaut
    Si on n'a le droit qu'à la méthode length(), c'est infaisable. Il faut au moins du charAt() ou du substring() ou du indexOf() ou du toCharArray(). length() ne suffit pas.


    Enfin, on peut toujours s'en sortir en utilisant Pattern et Matcher et find(), et du coup on n'utilise aucune méthode de String, même pas length(). Mais je suppose que ce n'était pas le but -_-°.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 211
    Points : 8 318
    Points
    8 318
    Billets dans le blog
    52
    Par défaut
    Bonjour,

    Il y a plusieurs manière de réaliser un programme qui réalise cette fonction.
    La première approche serait de réaliser soi-même une recherche dans première chaine de la seconde.
    La seconde approche se base sur des fonctions préexistante dans l'API Java.
    - La seule fonction appartenant à la classe « String » qui est possible d’utiliser est la méthode « length() ».
    La fonction length n'est pas la seule disponible depuis la classe String sur la javadoc.

    Personnellement, je ne vois pas comment tu peux faire sans utiliser une autre méthode que length()... de la classe String. Sauf si on considère que toCharArray() n'est pas méthode... Sauf que c'est une méthode...

    Voici un exemple de comptage :
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    package aide.forum.developpez;
     
    import java.util.Scanner;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
     
    public class Main {
        private static Scanner sc = null;
        public static void main(String[] args) {
            sc = new Scanner(System.in);
            while (true) {
                processTwoString();
            }
        }
     
        private static void processTwoString() {
            System.out.println("Bonjour, entrez deux chaînes de caractères");
            String stringA = getStringA();
            String stringB = getStringB(stringA);
            int count = 0;
            count = getCountOfBInAByRegex(stringA, stringB);
            displayResult(stringA, stringB, count, "regex");
            count = getCountOfBInAByHand(stringA, stringB);
            displayResult(stringA, stringB, count, "hand");
        }
     
        /**
         * @param stringA The string we want to seek in
         * @param stringB The string we want to seek
         * @return the number of occurrence
         */
        private static int getCountOfBInAByHand(String stringA, String stringB) {
            int count = 0;
            char[] charTableA = stringA.toCharArray();
            char[] charTableB = stringB.toCharArray();
            for (int i = 0; i < charTableA.length; i++) {
                boolean equals = true;
     
                for (int j = 0; j < charTableB.length; j++) {
                    int nextIndex = i+j;
                    if(charTableA.length<nextIndex+1){
                        equals = false;
                        break;
                    }
                    if(equals && charTableA[nextIndex] != charTableB[j]){
                        equals = false;
                    }
                }
                if (equals) {
                    count++;
                }
            }
            return count;
        }
     
        /**
         * @param stringA The string we want to seek in
         * @param stringB The string we want to seek
         * @param count The number of occurrence of stringB in stringB
         * @param methode The method use to find count
         */
        private static void displayResult(String stringA, String stringB,
                int count, String method) {
            System.out.println("Methode " + method + " : Il a " + count
                    + " fois la chaîne \"" + stringB + "\" dans \"" + stringA
                    + "\"");
        }
     
        /**
         * @param stringA The string we want to seek in
         * @param stringB The string we want to seek
         * @return the number of occurrence of stringB in stringB
         */
        private static int getCountOfBInAByRegex(String stringA, String stringB) {
            Pattern pattern = Pattern.compile(stringB);
            Matcher matcher = pattern.matcher(stringA);
            int count = 0;
            while (matcher.find()) {
                count++;
            }
            return count;
        }
     
        /**
         * @param stringA The string we want to seek in
         * @return The string we want to seek
         */
        private static String getStringB(String stringA) {
            int longeurMaxChainB = stringA.length() - 1;
            System.out.println("Entrez une chaîne d’une longueur maximum de "
                    + longeurMaxChainB + " caractères.");
            String toReturn = null;
            while (true) {
                toReturn = sc.nextLine();
                if (toReturn.length() > longeurMaxChainB) {
                    System.out
                            .println("La chaîne doit être d’une longueur maximum de "
                                    + longeurMaxChainB + " caractères.");
                } else if (toReturn.length() < 1) {
                    System.out
                            .println("La chaîne doit être d’une longueur minimum de 1 caractères.");
                } else {
                    break;
                }
            }
            return toReturn;
        }
     
        /**
         * @return The String we want to seek in
         */
        private static String getStringA() {
            System.out
                    .println("Entrez une chaîne d’une longueur minimum de 4 caractères.");
            String toReturn = null;
            while (true) {
                toReturn = sc.nextLine();
                if (toReturn.length() < 4) {
                    System.out
                            .println("La chaîne doit être d’une longueur minimum de 4 caractères.");
                } else {
                    break;
                }
            }
            return toReturn;
        }
    }
    Attention, les deux fonctions de comptage ne sont pas d'accord entre elles sur comment on compte ! L'une prend les occurrences qui se chevauchent l'autre non.

    - Les saisies doivent être validées avec feedback à l’utilisateur.
    Affichage console des messages console directement. Pour la récupération, la classe Scanner est utile.
    D'autres préfère la classe Console...

    @Stephanie_21 : Demandez à votre professeur comment vous êtes pouvez comparer deux objets en ne connaissant que leur taille.

    Cordialement,
    Patrick kolodziejczyk.
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  8. #8
    Traductrice
    Avatar de Mishulyna
    Femme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2008
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

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

    Informations forums :
    Inscription : Novembre 2008
    Messages : 1 504
    Points : 7 840
    Points
    7 840
    Par défaut
    Bonsoir thelvin,

    Comment ça se fait que ça peut fonctionner en C avec des tableux de char mais pas en Java? Ca ne m'est jamais venu à l'esprit d'essayer, c'est vrai, mais...
    Chaque fois que tu dis "je ne peux pas", n'oublie pas d'ajouter le mot "encore".

  9. #9
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2012
    Messages : 9
    Points : 11
    Points
    11
    Par défaut
    Bonjour,
    Il est précisé que nous ne pouvons utiliser que la méthode length simplement pour nous dire de ne pas utiliser aucune fonction pré-faite de la javadoc..

    Je crois donc que l'on doit utiliser la méthode CharAt() et L'incrémenter en boucle afin de tester chaque charactères des chaînes mais je ne suis pas capable d'arriver à un résultat concluant

  10. #10
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 557
    Points : 21 616
    Points
    21 616
    Par défaut
    Citation Envoyé par Mishulyna Voir le message
    Comment ça se fait que ça peut fonctionner en C avec des tableux de char mais pas en Java? Ca ne m'est jamais venu à l'esprit d'essayer, c'est vrai, mais...
    Bah c'est simple, en C il n'y a ni objet ni méthode. Les données ne sont pas enfermées dans un objet opaque String sur lequel on ne pourrait pas appeler toutes les méthodes qu'on veut.
    En C les données sont dans un tableau et on n'a pas besoin de fonction ou de méthode pour en faire ce qu'on veut, les opérateurs suffisent.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  11. #11
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 557
    Points : 21 616
    Points
    21 616
    Par défaut
    Citation Envoyé par Stephanie_21 Voir le message
    Je crois donc que l'on doit utiliser la méthode CharAt() et L'incrémenter en boucle afin de tester chaque charactères des chaînes mais je ne suis pas capable d'arriver à un résultat concluant
    Eh bien parle-nous un peu de ce que tu essaies de faire.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  12. #12
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 211
    Points : 8 318
    Points
    8 318
    Billets dans le blog
    52
    Par défaut
    Conseil : Prend un morceau de papier et écrit en français comment tu fais pour compter le nombre d'occurrences. En décrivant chaque étape.
    Après, il n'y aura plus qu'à le "traduire".
    Suite : Message tardif à ne pas prendre en compte.

    Mishulyna.
    Cela peut tout à fait fonctionner en Java avec des tableaux de caractères, tout comme en C.
    Par contre, pour obtenir ce tableau à partir d'un objet String Java, tu es obligé de passer par une méthode, car l'objet String n'a pas de propriété publique. Ses propriétés sont accessibles seulement via ses méthodes.

    Concrètement se limiter à la méthode length() revient à savoir combien de fois se retrouve le mot B dans le mot A, en ayant les informations suivant :
    A : *******
    B : ***
    Tu te retrouves avec deux boites noires qui se résument à A de longueur 7 et B de longueur 3.
    La limitation imposée par l'exercice, le rend insoluble.

    Je suppose comme thelvin que l’énoncé est mal posé. Car certaines méthodes de la classes String rendent l'exercice trop simple algorithmiquement parlant.
    Notamment les méthodes equals et substring :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        private static int getCountOfBInAByHand(String stringA, String stringB) {
            int count =0; 
            for (int i = 0; i < (stringA.length()-stringB.length()); i++) {
                String subString= stringA.substring(i, stringB.length());
                if(subString.equals(stringB)){
                    count++;
                }
            }
            return count;
        }
    Ce qui évite aussi d'introduire certaines notions de programmation trop rapidement. Ce qui est maladroit pour Java.

    Cordialement,
    Patrick kolodziejczyk.
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  13. #13
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2012
    Messages : 9
    Points : 11
    Points
    11
    Par défaut
    Bon,
    J'ai finalement réussi à créer un code fonctionnel grâce à votre aide si précieuse.

    Voici pour les curieux le code final:
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    import javax.swing.JOptionPane;
     
    public class ChercherLaChaine 
    {
        //Fonction Pour déterminer le nombre de fois que l'on retrouve la chaine 2 dans la chaine 1
        private static int NombreDeFoischaine2Danschaine1(String stringA, String stringB) {
            int count = 0;
            char[] charTableA = stringA.toCharArray();
            char[] charTableB = stringB.toCharArray();
            for (int i = 0; i < charTableA.length; i++) {
                boolean equals = true;
     
                for (int j = 0; j < charTableB.length; j++) {
                    int nextIndex = i+j;
                    if(charTableA.length<nextIndex+1){
                        equals = false;
                        break;
                    }
                    if(equals && charTableA[nextIndex] != charTableB[j]){
                        equals = false;
                    }
                }
                if (equals) {
                    count++;
                }
            }
            return count;
        }
        public static void main(String[] args)
        {
            //Initialisation des variables
            String chaine1="";
            String chaine2="";
            int Len=0;
            int Len2=0;
            //Saisie et Validation des variables
            while (Len<4)
            {
            chaine1=JOptionPane.showInputDialog(null,"Quelle est votre première chaine?","Saisie",JOptionPane.QUESTION_MESSAGE);    
                Len=chaine1.length();
            }
            chaine2=JOptionPane.showInputDialog(null,"Quelle est votre deuxième chaine?","saisie",JOptionPane.QUESTION_MESSAGE);
                Len2=chaine2.length();
            //Réception du Nombre de répétition de la fonction NombreDeFoischaine2Danschaine1
            if ((Len2<Len)||(Len2>0))
            {
                int nbDeFois=NombreDeFoischaine2Danschaine1(chaine1, chaine2);
                JOptionPane.showMessageDialog(null, "La chaine : " + chaine2 + " est contenu " + nbDeFois + " fois dans la chaine " + chaine1 + ".", "Résultat", JOptionPane.INFORMATION_MESSAGE);
            }
            else
            {
                JOptionPane.showMessageDialog(null, "Chaine 2 invalide", "ERREUR", JOptionPane.ERROR_MESSAGE );
            }
        }
    }
    Merci à tous.

  14. #14
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 211
    Points : 8 318
    Points
    8 318
    Billets dans le blog
    52
    Par défaut
    Petit problème de compréhension de la fonction substring :
    Il faut indiquer l'index de fin et non la longueur de la chaine voulu.
    Et un petit décalage au niveau de la condition de la boucle for.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    private static int NombreDeFoisChaine2DansChaine1(String stringA,
    			String stringB) {
    		int count = 0;
    		for (int i = 0; i <= (stringA.length() - stringB.length()); i++) {
    			String subString = stringA.substring(i, i+stringB.length());
    			if (subString.equals(stringB)) {
    				count++;
    			}
    		}
    		return count;
    }
    Sinon, c'est un bon code =)

    Cordialement,
    Patrick Kolodziejczyk.
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  15. #15
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2012
    Messages : 9
    Points : 11
    Points
    11
    Par défaut
    Voici une variante du code en utilisant cette fois-ci le code de Kolodz.
    Les deux codes que j'ai postés fonctionnent tous-deux très bien
    Encore une fois merci à tous.

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    import javax.swing.JOptionPane;
     
    public class ChercherLaChaine 
    {
        private static int NombreDeFoischaine2Danschaine1(String stringA, String stringB) {
            int count = 0;
            for (int i = 0; i <= (stringA.length() - stringB.length()); i++) {
                String subString = stringA.substring(i, i+stringB.length());
                if (subString.equals(stringB)) {
                    count++;
                }
            }
            return count;
     
        }
        public static void main(String[] args)
        {
            //Initialisation des variables
            String chaine1="";
            String chaine2="";
            int Len=0;
            int Len2=0;
            //Saisie et Validation des variables
            while (Len<4)
            {
            chaine1=JOptionPane.showInputDialog(null,"Quelle est votre première chaine?","Saisie",JOptionPane.QUESTION_MESSAGE);    
                Len=chaine1.length();
            }
            chaine2=JOptionPane.showInputDialog(null,"Quelle est votre deuxième chaine?","saisie",JOptionPane.QUESTION_MESSAGE);
                Len2=chaine2.length();
            //Réception du Nombre de répétition de la fonction NombreDeFoischaine2Danschaine1
            if ((Len2<Len)||(Len2>0))
            {
                int nbDeFois=NombreDeFoischaine2Danschaine1(chaine1, chaine2);
                JOptionPane.showMessageDialog(null, "La chaine : " + chaine2 + " est contenu " + nbDeFois + " fois dans la chaine: " + chaine1 + ".", "Résultat", JOptionPane.INFORMATION_MESSAGE);
            }
            else
            {
                JOptionPane.showMessageDialog(null, "Chaine 2 invalide", "ERREUR", JOptionPane.ERROR_MESSAGE );
            }
        }
    }

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

Discussions similaires

  1. Compter les occurences dans une chaîne
    Par AuBozon dans le forum Débuter
    Réponses: 3
    Dernier message: 27/04/2008, 11h17
  2. [RegEx] Regex : récupérer toutes les occurences dans une chaîne
    Par Poulpynette dans le forum Langage
    Réponses: 1
    Dernier message: 10/10/2006, 10h14
  3. [FAQ] compter les occurences d'une chaîne dans un fichier
    Par cafeine dans le forum Contribuez
    Réponses: 3
    Dernier message: 25/07/2006, 11h21
  4. Nombre d'occurences dans une chaîne de caractères
    Par Olivier14 dans le forum Langage
    Réponses: 4
    Dernier message: 20/03/2006, 19h11
  5. [TestStand] Compter les éléments d'une chaîne de caractères
    Par capblans dans le forum Autres langages
    Réponses: 2
    Dernier message: 29/04/2005, 09h29

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