Signaler

Ruzzle

Posez votre question infokab 19Messages postés mercredi 11 octobre 2017Date d'inscription 13 novembre 2017 Dernière intervention - Dernière réponse le 15 nov. 2017 à 17:22 par infokab
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

Utile
+0
plus moins
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 19Messages 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
Répondre
KX 15031Messages postés samedi 31 mai 2008Date d'inscription ModérateurStatut 20 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);
Répondre
infokab 19Messages postés mercredi 11 octobre 2017Date d'inscription 13 novembre 2017 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
Répondre
KX 15031Messages postés samedi 31 mai 2008Date d'inscription ModérateurStatut 20 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.
Répondre
infokab- 15 nov. 2017 à 17:22
merci pour votre repense

je vais essayer de programmer
Répondre
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !