Maison > Java > javaDidacticiel > Pourquoi mon algorithme de comptage de sous-chaînes ne s'arrête-t-il pas ?

Pourquoi mon algorithme de comptage de sous-chaînes ne s'arrête-t-il pas ?

Mary-Kate Olsen
Libérer: 2024-12-15 20:31:10
original
366 Les gens l'ont consulté

Why Doesn't My Substring Counting Algorithm Halt?

Pourquoi l'algorithme donné ne s'arrête-t-il pas ?

Dans l'algorithme fourni, une tentative est faite pour trouver le nombre d'occurrences d'une sous-chaîne dans une chaîne. Cependant, l'algorithme est conçu pour continuer jusqu'à ce que le dernier index de la sous-chaîne de la chaîne devienne -1. Cette condition ne sera jamais remplie car le dernier index est toujours mis à jour en y ajoutant la longueur de la sous-chaîne. En conséquence, l'algorithme continuera à rechercher la sous-chaîne indéfiniment, sans jamais se terminer.

Utiliser Apache Commons Lang pour le comptage des sous-chaînes

Une approche alternative pour compter les occurrences de sous-chaîne est pour utiliser la méthode StringUtils.countMatches d'Apache Commons Lang. Cette méthode prend une chaîne et une sous-chaîne comme arguments et renvoie le nombre de fois où la sous-chaîne apparaît dans la chaîne. En utilisant cette méthode, le problème d'origine peut être résolu avec le code suivant :

String str = "helloslkhellodjladfjhello";
String findStr = "hello";

System.out.println(StringUtils.countMatches(str, findStr));
Copier après la connexion

Ce code renvoie :

3
Copier après la connexion

qui compte correctement les occurrences de la sous-chaîne "hello" dans le chaîne "helloslkhellodjladfjhello".

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal