Problème dans la méthode indexOf()?
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 :
Code:
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");
}
} |
Merci :)