Problème de méthode avec résultats.

Résolu/Fermé
WedZee Messages postés 3 Date d'inscription mardi 29 octobre 2013 Statut Membre Dernière intervention 29 octobre 2013 - 29 oct. 2013 à 21:48
WedZee Messages postés 3 Date d'inscription mardi 29 octobre 2013 Statut Membre Dernière intervention 29 octobre 2013 - 29 oct. 2013 à 22:49
Bonjour,
Je vous écris ce message pour vous faire part de mon problème.
Voilà, j'ai un projet à rendre, en JAVA. Le but est de crée 2 constructeurs de typer Poquemont et de type Dresseur. Seulement voilà, je dois crée une methode adopterPoquemont dans la classe Dresseur, et je n'y arrive pas vraiment.
Voici ma methode actuellement:

public Poquemont adopterPoquemont (Poquemont pPoquemont) {
if (this.familier != null) {
if (pPoquemont.seFaireAdopter = true) {
familier = this.familier;
this.familier.seFaireLiberer();
this.familier = pPoquemont;
return familier;
}
else {
return null;
}
}
else {
this.familier = pPoquemont;
return null;
}
}


Voici les methodes que j'utilise qui sont dans la classe Poquemont:

public boolean seFaireAdopter( Dresseur pDresseur ) {
if (this.dresseur == null ) {
this.dresseur = pDresseur;
return true;
}
else {
return false;
}
}


L'erreur que j'obtient en compilant est: Cannot find symbol. pour "pPoquemont.seFaireAdopter = true"
Voilà, je suis prêt à accepter n'importe quelle aide.
Merci à vous!

3 réponses

KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
29 oct. 2013 à 21:54
seFaireAdopter
est une méthode, pas un attribut, tu dois donc lui donner des paramètres. De plus, dans un if, il ne faut pas faire d'affectation avec un
=
mais une comparaison avec deux
==
, même si la comparaison à
true
est inutile. Tu devrais donc avoir quelque chose comme :

if (pPoquemont.seFaireAdopter(pDresseur)) 
0
WedZee Messages postés 3 Date d'inscription mardi 29 octobre 2013 Statut Membre Dernière intervention 29 octobre 2013
29 oct. 2013 à 22:22
Merci d'avoir répondu rapidement, je comprends ce que tu veux dire, mais pourquoi avoir un pDresseur, alors que je me trouve déjà dans la classe Dresseur. De plus en rajoutant cela j'ai toujours une erreur et donc cette fois au niveau du pDresseur. Je vois très bien qu'il faut mettre un argument dans cette méthode, mais je ne sais justement pas quoi mettre...
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
29 oct. 2013 à 22:29
"pourquoi avoir un pDresseur" ?
Parce que ta méthode seFaireAdopter prend en argument un pDresseur. Mais peut-être que ce n'est pas la méthode seFaireAdopter qu'il faut mettre ici. Il faudrait expliquer ce que tu veux faire.

"en rajoutant cela j'ai toujours une erreur et donc cette fois au niveau du pDresseur."
En effet, parce que pDresseur n'existe pas, en fait si j'ai bien compris, le dresseur ici c'est
this
.

if (pPoquemont.seFaireAdopter(this)) 
0
WedZee Messages postés 3 Date d'inscription mardi 29 octobre 2013 Statut Membre Dernière intervention 29 octobre 2013
29 oct. 2013 à 22:49
Merci, beaucoup. En effet, je n'avais pas pensé à utiliser le this ici. Ne sachant pas trop quand l'utiliser. Maintenant mon programme compile à la perfection.

Encore une fois merci beaucoup et bonne soirée.
0