Bonjour a tous,
Je ne sais pas si je poste dans la bonne section, surement pas je me perds un peu dans ce vaste forum ^^, mais je vais vous expliquer mon probleme.
Mon but est de realiser un dictionnaire sous Java a l'aide d'un arbre n-aire.
J'ai essayer en vain de faire sa moi meme, et donc j'ai trouvé sur le site ce lien :
http://recursivite.developpez.com/?page=page_8#LVII-D

c'est exactement ce que je cherche a faire, mais il est en Delphi, a premiere vue c'est assez similaire a Java mais je n'ai pas reussi a tout traduire surtout ce passage :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
procedure arbre.rajouter_mot(LeMot: string);
var lettre: char;
begin
  if LeMot = '' then
  begin
    courant.entier := true;
    exit;
  end;
  lettre := LeMot[1];
  if courant.fils[lettre] <> nil then // si la lettre existe déjà
    courant := courant.fils[lettre] // alors on se positionne sur la lettre suivante
  else // sinon il faut créer cette lettre dans l'arbre
  begin
    courant.fils[lettre] := noeud.create;
    courant := courant.fils[lettre];
    courant.lettre := lettre; // la lettre est maintenant dans l'arbre
  end;
  delete(LeMot, 1, 1); // on efface la lettre du mot puisqu'elle est déjà dans l'arbre
  rajouter_mot(LeMot); // et on rajoute le reste
end;
Je vous met aussi ce que j'ai reussi a faire !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
public class Noeud {
    //private char root;
    private ArrayList<Noeud> fils = new ArrayList();
    protected char lettre;
    protected boolean entier;
 
    public Noeud(char lettre){
        this.lettre='#';
        this.entier=false;
    }
public class Arbre {
    private Noeud tete,courant;
 
    public Arbre(){
        this.tete = tete;
        this.courant=courant;
    }
    public void rajouter_mot(String LeMot){
        char lettre; 
        if (LeMot==null){
            courant.entier=true;
        }
        lettre = LeMot.charAt(0);
 
    ???????
 
 
        LeMot = LeMot.substring(1);
        rajouter_mot(LeMot);
    }
Voila j'espere que j'ai bien presenter mon probleme, ma difficulté premiere est le Delphi , et la 2e est les ArrayList, car c'est un type que je n'ai helas jamais utilisé...