Bonjour, j'ai un petit probléme avec le retour d'une méthode. Je suis en train de programmer l'enregistrement de notes dans une classe ResultatModule (id,CC,TP,Exam).
Dans une autre classe, AnneeEtudiant(ide,nbModules,mod[]), je veux enregistrer le nombre de modules suivis par l'étudiant (clé: ide), et dans un tableau de ResultatModule, chaque résultats qu'il a eu.
Donc voici le code pour la classe ResultatModule:
public class ResultatModule {
String id;
int noteCC;
int noteTP;
int noteEx;
//constructor;
ResultatModule(String id, int noteCC, int noteTP, int noteEx){
this.id=id;
this.noteCC=noteCC;
this.noteTP=noteTP;
this.noteEx=noteEx;
}
//accesseurs
String getId(){return id;}
int getCC(){return noteCC;}
int getTP(){return noteTP;}
int getEx(){return noteEx;}
//modificateurs
void setId(String id){this.id=id;}
void setCC(int cc){noteCC=cc;}
void setTP(int tp){noteTP=tp;}
void setEx(int ex){noteEx=ex;}
double calculeMoyenne(){
double m=(0.3*noteCC+0.2*noteTP+0.5*noteEx);
return m;
}
boolean valideModule(){
if (calculeMoyenne()>=10){
return true;}
else {return false;}
}
}
Et le code pour AnneeEtudiant :
public class AnneeEtudiant {
String ide;
int nbModules;
//déclaration du tableau, on ne donne pas la taille !!
ResultatModule mod[];
public AnneeEtudiant(String ide)
{
//construit le tableau
mod = new ResultatModule[19];
this.ide=ide;
this.nbModules=0;
}
String getIde(){return ide;}
int getNbModules(){return nbModules;}
ResultatModule getResultat(String idMod){
int cpt=0;
boolean trouve=false;
while ((!trouve) && (cpt<=nbModules)){
if (idMod.equals(mod[cpt].id)){
trouve=true;
}
else {cpt++;}
if (trouve){return mod[cpt];}
else {return null;}
}
}
}
Donc le problème, c'est dans la derniére méthode, getResultat, il m'affiche une erreur comme quoi il faut que la méthode retourne un objet de type ResultatModule .... sauf que c'est ce que je fait, enfin il me semble !!
Merci pour votre aide!
Configuration: Windows XP
Firefox 3.0.12