Menu

Ruzzle

infokab 19 Messages postés mercredi 11 octobre 2017Date d'inscription 13 novembre 2017 Dernière intervention - 13 nov. 2017 à 18:18 - Dernière réponse :  infokab
- 15 nov. 2017 à 17:22
Bonjour,

je doit crée une application du jeu "ruzzle "
et je veut faire ca avec un arbre n air

j'ai fait ca



public class arbre {

private char pere ;
ArrayList <arbre> fils ;


public arbre(char pere)
{
this.pere=pere; // ma racine qui va etre vide
this.fils= new ArrayList<arbre>(); // mes arbres

}

public arbre remplireArbre(String nom) // je vais faire entres un string que je doit decouper en lettres
{
// char c = decoupage(nom);
int i=0;
while(i<nom.length())
{
char c = nom.charAt(i);




}

}




et je sais pas comment faire pour remplir mon arbre avec le dictionnaire de mots 'dico.txt"

merci

Afficher la suite 

8 réponses

Répondre au sujet
KX 15236 Messages postés samedi 31 mai 2008Date d'inscriptionModérateurStatut 21 février 2018 Dernière intervention - 13 nov. 2017 à 18:21
0
Utile
7
Bonjour,

Il te manque un argument à ton arbre : la valeur des noeuds, ce n'est pas au père de porter cette information.

public class Arbre<E> {
    private Arbre<E> pere;
    private Collection<Arbre<E>> fils;
    private E valeur;
}
infokab 19 Messages postés mercredi 11 octobre 2017Date d'inscription 13 novembre 2017 Dernière intervention - 13 nov. 2017 à 18:39
a d'accord merci j'ai jamais utiliser cette structure

et pour le constructeur comment je doit le declarer ?

moi je doit remplir mon arbre avec des lettres

merci
KX 15236 Messages postés samedi 31 mai 2008Date d'inscriptionModérateurStatut 21 février 2018 Dernière intervention > infokab 19 Messages postés mercredi 11 octobre 2017Date d'inscription 13 novembre 2017 Dernière intervention - 13 nov. 2017 à 19:01
"et pour le constructeur comment je doit le declarer ?"
Comme avant, sauf que tu remplaces tes valeurs par E.

Exemple :
public Arbre(E valeur)


Remarque : je pense que ce constructeur n'est pas pertinent, il serait sûrement utile d'avoir deux classes : Arbre qui est la structure concrète utilisée et Noeud qui compose l'arbre. L'arbre contient le nœud racine : celui qui n'a aucun père et chaque nœud référence son père, sa valeur et ses fils (manipuler directement le nœud étant interdit).

"je doit remplir mon arbre avec des lettres"
Si ton arbre fonctionne avec des types paramétré, il fonctionnera avec des lettres, mais aussi avec n'importe quelle autre type de données.

Exemples :

Arbre<String> arbre1 = new Arbre<String>("valeur");
Arbre<Integer> arbre2 = new Arbre<Integer>(42);
infokab 19 Messages postés mercredi 11 octobre 2017Date d'inscription 13 novembre 2017 Dernière intervention > KX 15236 Messages postés samedi 31 mai 2008Date d'inscriptionModérateurStatut 21 février 2018 Dernière intervention - 13 nov. 2017 à 20:10
bonsoir

public class Arbre <E> {

private Arbre <E> pere ;
private Collection<Arbre<E>> fils;
private E valeur;

//la valeur des noeuds, ce n'est pas au père
//de porter cette information.

public Arbre(Arbre pere,E valeur)
{
this.pere=pere; // ma racine qui va etre vide
this.fils= new ArrayList <Arbre <E>>(); // mes arbres
this.valeur=valeur;
}


c'est bon c'est ca ??

merci
KX 15236 Messages postés samedi 31 mai 2008Date d'inscriptionModérateurStatut 21 février 2018 Dernière intervention > infokab 19 Messages postés mercredi 11 octobre 2017Date d'inscription 13 novembre 2017 Dernière intervention - 13 nov. 2017 à 23:08
Syntaxiquement il te manque le <E> du paramètre Arbre<E>

public Arbre(Arbre<E> pere, E valeur)

Après, est-ce que ça te permettra de construire le reste de ta classe... à voir comment tu fais le reste de ton code derrière.

Remarque : un constructeur comme celui-ci, qui manipule la structure interne de la classe (le père), ne devrait pas être public.
infokab > KX 15236 Messages postés samedi 31 mai 2008Date d'inscriptionModérateurStatut 21 février 2018 Dernière intervention - 15 nov. 2017 à 17:22
merci pour votre repense

je vais essayer de programmer
Commenter la réponse de KX