A voir également:
- [java] Méthode
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Java décompiler - Télécharger - Langages
- Java runtime - Télécharger - Langages
2 réponses
choubaka
Messages postés
39409
Date d'inscription
jeudi 4 avril 2002
Statut
Modérateur
Dernière intervention
24 décembre 2024
2 104
13 juin 2006 à 07:44
13 juin 2006 à 07:44
salut
je comprends pas bien ce que tu veux qu'on fasse ...
tu veux qu'on écrive ton code ???
il manque beaucoup trop d'éléments pour qu'on puisse le faire
je comprends pas bien ce que tu veux qu'on fasse ...
tu veux qu'on écrive ton code ???
il manque beaucoup trop d'éléments pour qu'on puisse le faire
Bonjour,
Désolé, c'est vrai que j'ai mis très peu d'éléments pour être aidé
J'avais codé un exo semblable à celui qui m'est demandé de faire, mais je n'arrive pas à faire les modifications qui s'imposent
J'aurais principalement besoin d'aide concernant les méthodes Query et QueryFactory (qui permettent de faire la recherche) que je n'arrive pas à adapter
L'exo consiste à chercher des mots ou expressions régulières dans un fichier en utilisant le ET(&) et le Ou(|) .
Si vous pouviez m'aider s'il vous plait car j'essaye sans succès
Merci
Les quelques interfaces à implémenter(je ne mets que celles qui me posent problèmes)
Cette interface sert lancer la recherche
Cette interface sert à utiliser les &, |, les expressions rationnelles ou les expressions "simples"
Ce que j'avais codé mais qu'il faut adapter
je tasse un peu le code dans mon post pour des raisons de place...)
J'ai une interface IMatcher qui se charge de dire si le texte donné est "bon" :
Ensuite j'ai plusieurs Matchers spécialisés qui implémentent cette interface. Certains sont des matchers "simples" (qui travaillent sur une simple chaîne de référence) :
Et certains sont "composites" (ils utilisent d'autres matchers pour déterminer si le texte est "bon") :
Ensuite, j'ai une MatcherFactory, à qui on donne l'expression de recherche ("& titi toto"), et qui se charge de l'analyser et de construire la hiérarchie des Matchers correspondante :
Désolé, c'est vrai que j'ai mis très peu d'éléments pour être aidé
J'avais codé un exo semblable à celui qui m'est demandé de faire, mais je n'arrive pas à faire les modifications qui s'imposent
J'aurais principalement besoin d'aide concernant les méthodes Query et QueryFactory (qui permettent de faire la recherche) que je n'arrive pas à adapter
L'exo consiste à chercher des mots ou expressions régulières dans un fichier en utilisant le ET(&) et le Ou(|) .
Si vous pouviez m'aider s'il vous plait car j'essaye sans succès
Merci
Les quelques interfaces à implémenter(je ne mets que celles qui me posent problèmes)
Cette interface sert lancer la recherche
public interface Query { public Iterable<? extends Result> execute(); public Iterable<? extends Result> execute(int maxCount); }
Cette interface sert à utiliser les &, |, les expressions rationnelles ou les expressions "simples"
import java.util.regex.Pattern; public interface QueryFactory { public Query query(CharSequence word); public Query query(Pattern pattern); public Query or(Query query1,Query query2); public Query and(Query query1,Query query2); }
Ce que j'avais codé mais qu'il faut adapter
je tasse un peu le code dans mon post pour des raisons de place...)
J'ai une interface IMatcher qui se charge de dire si le texte donné est "bon" :
public interface IMatcher { public boolean matches(String value); }
Ensuite j'ai plusieurs Matchers spécialisés qui implémentent cette interface. Certains sont des matchers "simples" (qui travaillent sur une simple chaîne de référence) :
public class ContainsMatcher implements IMatcher { private final String reference; public ContainsMatcher(String reference) { this.reference = reference; } public boolean matches(String value) { return value.contains(reference); } }
Et certains sont "composites" (ils utilisent d'autres matchers pour déterminer si le texte est "bon") :
public class AndMatcher implements IMatcher { private final IMatcher matcher1; private final IMatcher matcher2; public AndMatcher(IMatcher matcher1, IMatcher matcher2) { this.matcher1 = matcher1; this.matcher2 = matcher2; } public boolean matches(String value) { return ( matcher1.matches(value) && matcher2.matches(value) ); } }
Ensuite, j'ai une MatcherFactory, à qui on donne l'expression de recherche ("& titi toto"), et qui se charge de l'analyser et de construire la hiérarchie des Matchers correspondante :
public class MatcherFactory { // C'est la méthode publique que notre programme va appeler public static IMatcher createMatcher(String pattern) { ArrayList<String> expList = new ArrayList<String>(Arrays.asList(pattern.split("\\s+"))); return getSpecializedMatcher(expList); } // Méthode récursive, qui lit le premier élément de la liste des expressions, et // renvoie le Matcher correspondant. private static IMatcher getSpecializedMatcher(List<String> expList) { String exp = expList.remove(0); if ("&".equals(exp)) { IMatcher operand1 = getSpecializedMatcher(expList); IMatcher operand2 = getSpecializedMatcher(expList); return new AndMatcher(operand1, operand2); } else if ("|".equals(exp)) { IMatcher operand1 = getSpecializedMatcher(expList); IMatcher operand2 = getSpecializedMatcher(expList); return new OrMatcher(operand1, operand2); } else if (exp.startsWith("@")) { return new RegexMatcher(exp.substring(1)); } else if (exp.startsWith("!")) { return new ExactMatcher(exp.substring(1)); } else { return new ContainsMatcher(exp); } } }