Bonsoir à vous tous
J'ai un petit tp à réaliser il s'agit d'établir un programme qui peut compter le nombre d'occurence d'un mot dans une chaine de caractère ..mais là je n'arrive pas à comprendre comment que la méthode indexOf() fonctionne c'est pour ca que j'ai un problème avec ce programme qui n'affiche pas le resultat juste ..quelqu'un pourra m'aider à trouver le problème et m'expliquer comment cette dernière fonctionne merci d'avance le voici le code :
Merci
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 import javax.swing.JOptionPane; public class Occurence { public static int NbrFois(String chaine,String mot){ int cmpt=0;int i=0; while(i<chaine.length()) { if (chaine.indexOf(mot, i)!=-1){ cmpt++; } i=i + (mot.length()); chaine=chaine.substring(i); } return cmpt; } /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub String chaine= JOptionPane.showInputDialog(null,"donner votre phrase");if (chaine==null) JOptionPane.showMessageDialog(null,"la chaine est vide"); String mot= JOptionPane.showInputDialog(null,"donner le mot à rechercher");if (mot==null)JOptionPane.showMessageDialog(null,"la chaine est vide"); int nbre=NbrFois(chaine,mot); if(nbre!=0) JOptionPane.showMessageDialog(null,"Le mot {"+mot+"} apparait "+ nbre+" fois");else JOptionPane.showMessageDialog(null,"le mot n'apparait pas dans la phrase"); } }
Partager