Dans cette fiche... |
Difficulté : ![]() |
Résultat |
Une question posée sur un
newsgroup : Comment compter la lettre "s" (par exemple) dans une phrase ? Réponse... |
// ------------------------------------------- // OCCURRENCES : DECOMPTE DE LETTRES // -------------------------------------------
import java.applet.*; import java.awt.*; public class Occurrences extends Applet { String chaine;
public void init() { // Couleur de fond setBackground(Color.black);
// Une chaîne de caractères (intellectuelle :o)) chaine = "Les serpents de mer se sont sauvés"; } // Affichage public void paint(Graphics g) { int i = chaine.indexOf("s"); int j = 0 ;
while (i != -1) { j++; i = chaine.indexOf("s", i+1); }
g.setColor(Color.yellow); g.drawString(chaine, 10, 15); g.drawString("Nombre de s : "+ j, 10, 30); } }
Comme d'habitude, seules les nouveautés sont commentées.
int i = chaine.indexOf("s"); int j = 0 ; while (i != -1) { j++; i = chaine.indexOf("s", i+1); } |
La méthode indexOf()
permet de trouver la position d'une chaîne de caractères (s) dans une autre
(chaine). On recherche donc la position de la 1ère lettre s, avant la boucle. La variable j servira à compter le nombre de s trouvés (donc 0 au départ). Ensuite, on boucle jusqu'à ce qu'on trouve un s (le 1er compris). Reste à afficher le résultat... |
Voici le code qui a été utilisé dans cette page HTML pour faire apparaître l'applet :
<applet code="Occurrences.class" width=250 height=100> Votre navigateur n'est pas compatible Java ! </applet>
Pour plus de précisions sur l'intégration d'une applet, cliquez ici.