Dico en java

Quelqu un pourrait me donner des tuyaux pour programmer un dictionnaire en java objet sur un argument fichier texte merci.
Merci.

7 réponses

  1. Modérateur
    salut,

    ben avec un système clé valeur dans un objet structure de données.

    Choubanimal : 
    "Le poilu poilant au poil"
    1. pourrais tu me le detailler stp. merci.
  2. Modérateur
    bien sur, dans le package java.util, il existe des objets utilisant la technique clé-valeur pour stocker des données(des Strings). Il suffit d'associer le nom (la clé) avec la définition (la valeur).
    Exemple d'objet: Map ou SortedMap (trié)

    Choubanimal : 
    "Le poilu poilant au poil"
    1. Modérateur
      je tape trop vite, donc je continue

      La Classe TreeMap implémente les deux interface cités ci dessus et pourrait répondre à tes aspirations
      Choubanimal : 
      "Le poilu poilant au poil"
      1. en fait je me suis mal exprime. Ce que je souhaite faire c est afficher les mots d un fichier texte dans l ordre alphabetique avec leur occurrence. Merci de vos reponses.
        1. Le parsing, dans la classe que je te transmet ci-dessous, se fait sur base du caractère d'espacement. A toi de modifier le code pour permettre de parser le texte sur base d'autres caractères de délimitation ( le point, le point virgule, l'apostrophe,...)

          package wordCounter;
          import java.io.*;
          import java.util.*;

          /**
          *
          * @author HackTrack
          * @version 1.0
          */
          public class WordCounter {
          private StringBuffer text;
          private HashMap occurencesMap;

          public WordCounter() {
          occurencesMap = new HashMap();
          }

          public HashMap countOccurences(String filePath){
          try{
          BufferedReader reader = new BufferedReader(new FileReader(filePath));
          text = new StringBuffer();
          String line="";
          while((line=reader.readLine())!=null){
          text.append(line);
          }

          }catch(FileNotFoundException fnfe){
          System.out.println("This file does't exist !");
          }catch(IOException ioe){
          System.out.println("Error while reading file !");
          }
          return parseText(text);
          }

          private HashMap parseText(StringBuffer text){
          occurencesMap = new HashMap();
          StringTokenizer tokenizer = new StringTokenizer(text.toString()," ");
          while(tokenizer.hasMoreTokens()){
          String aWord = tokenizer.nextToken().toUpperCase();
          if(occurencesMap.containsKey(aWord)){
          Integer occurences = (Integer)occurencesMap.get(aWord);
          occurences = new Integer(occurences.intValue()+1);
          occurencesMap.put(aWord,occurences);
          }else{
          occurencesMap.put(aWord.toUpperCase(),new Integer(1));
          }
          }
          showOccurences();
          return occurencesMap;
          }

          private void showOccurences(){
          Set keySet = occurencesMap.keySet();
          List list = new ArrayList(keySet);
          Collections.sort(list);

          for(int i=0 ; i<list.size() ; i++){
          String aWord = (String)list.get(i);
          Integer occurences = (Integer)occurencesMap.get(aWord);
          System.out.println(aWord +": "+ occurences + " occurences");
          }
          }

          public HashMap getOccurencesMap(){
          return occurencesMap;
          }

          public static void main(String args[]) {
          WordCounter counter = new WordCounter();
          counter.countOccurences("C:/test2.txt");
          }
          }

          ;-)
          1. Modérateur
            salut hacky

            je vois que pour une fois j'ai pas dit que des bêtises (pas mal pour un non développeur ;DDD)

            Choubanimal : 
            "Le poilu poilant au poil"