A voir également:
- Problème en java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
- Java décompiler - Télécharger - Langages
5 réponses
silfaxu
Messages postés
102
Date d'inscription
jeudi 18 décembre 2003
Statut
Contributeur
Dernière intervention
6 février 2008
11
10 août 2004 à 08:32
10 août 2004 à 08:32
Salut,
Peux-tu mettre aussi le code de la classe Score2 ? Initialises-tu bien le score dans cette classe ? parce qu'à première vue, quand tu fais
ça suppose que pierre.getScore() renvoie quelque chose de cohérent ( 0 par exemple ) la première fois que cette méthode est appelée.
L'erreur peut venir de là ...
@+
Peux-tu mettre aussi le code de la classe Score2 ? Initialises-tu bien le score dans cette classe ? parce qu'à première vue, quand tu fais
while ( pierre.getScore() < 21)
ça suppose que pierre.getScore() renvoie quelque chose de cohérent ( 0 par exemple ) la première fois que cette méthode est appelée.
L'erreur peut venir de là ...
@+
Voilà le code de la classe score2(dérivée de la classe score) et apparemment le score est bien initialisé à 0 par le constructeur puis retourné à chaque appel de la méthode getScore...
/**
* Classe dérivée de score
* Elle prend en compte le nombre d'essais nécessaires
* pour atteidre le score.
*/
public class score2 extends score {
private int nbEssais;
/**
* Constructeur par défaut
*/
public score2() {
super();
nbEssais=0;
}
/**
* Constructeur avec initilaisation du nom
*/
public score2(String nom) {
super(nom);
nbEssais=0;
}
/**
* lecture du nombre d'essais
*/
public int getNbEssais() {
return nbEssais;
}
/**
* inscription d'un score
* surcharge de la méthode setScore héritée
*/
public void setScore(int sco) {
super.setScore(sco);
nbEssais++;
}
}
/**
* Classe dérivée de score
* Elle prend en compte le nombre d'essais nécessaires
* pour atteidre le score.
*/
public class score2 extends score {
private int nbEssais;
/**
* Constructeur par défaut
*/
public score2() {
super();
nbEssais=0;
}
/**
* Constructeur avec initilaisation du nom
*/
public score2(String nom) {
super(nom);
nbEssais=0;
}
/**
* lecture du nombre d'essais
*/
public int getNbEssais() {
return nbEssais;
}
/**
* inscription d'un score
* surcharge de la méthode setScore héritée
*/
public void setScore(int sco) {
super.setScore(sco);
nbEssais++;
}
}
silfaxu
Messages postés
102
Date d'inscription
jeudi 18 décembre 2003
Statut
Contributeur
Dernière intervention
6 février 2008
11
10 août 2004 à 11:32
10 août 2004 à 11:32
Ton erreur est bien à la compilation ? non à l'exécution ?
silfaxu
Messages postés
102
Date d'inscription
jeudi 18 décembre 2003
Statut
Contributeur
Dernière intervention
6 février 2008
11
10 août 2004 à 11:38
10 août 2004 à 11:38
Tu n'as pas donné le code de
getScore()
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Oui l'erreur est bien à la compilation.Pour getScore, en fait son code est donné dans la classe score(classe parent de score2).Elle ne fait que retourner l'attribut "leScore". Voilà le code de la classe score si ça peut t'aider:
/**
* Cette classe permet la gestion du score d'un joueur.
*/
public class score {
/**
* Nom du joueur.
*/
public String nom;
/**
* Score maximal
*/
int scoMax;
private int leScore;
/**
* Constructeur par défaut :
* nom:"inconnu" ,
* score initial:0 ,
* score maximal:100 .
*/
public score() {
nom="inconnu";
leScore=0;
scoMax=100;
}
/**
* Constructeur avec initialisation du nom.
*/
public score(String nom) {
this.nom=nom;
leScore=0;
scoMax=100;
}
/**
* méthode de lecture du score
*/
public int getScore(){
return leScore;
}
/**
* méthode d'écriture du score
*/
public void setScore(int sco) {
if (sco>scoMax) leScore=scoMax;
else if (sco<0) leScore=0;
else leScore=sco;
}
/**
* méthode pour ajouter des points au score.
*/
public void ajoute(int points) {
setScore(leScore+points);
}
/**
* méthode d'affichage du score
*/
public void affiche() {
System.out.println(nom+" : "+leScore);
}
}
/**
* Cette classe permet la gestion du score d'un joueur.
*/
public class score {
/**
* Nom du joueur.
*/
public String nom;
/**
* Score maximal
*/
int scoMax;
private int leScore;
/**
* Constructeur par défaut :
* nom:"inconnu" ,
* score initial:0 ,
* score maximal:100 .
*/
public score() {
nom="inconnu";
leScore=0;
scoMax=100;
}
/**
* Constructeur avec initialisation du nom.
*/
public score(String nom) {
this.nom=nom;
leScore=0;
scoMax=100;
}
/**
* méthode de lecture du score
*/
public int getScore(){
return leScore;
}
/**
* méthode d'écriture du score
*/
public void setScore(int sco) {
if (sco>scoMax) leScore=scoMax;
else if (sco<0) leScore=0;
else leScore=sco;
}
/**
* méthode pour ajouter des points au score.
*/
public void ajoute(int points) {
setScore(leScore+points);
}
/**
* méthode d'affichage du score
*/
public void affiche() {
System.out.println(nom+" : "+leScore);
}
}