[java] Tableau d'objets
Résolu
timon44
Messages postés
53
Date d'inscription
Statut
Membre
Dernière intervention
-
christophe238 -
christophe238 -
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:
Et le code pour AnneeEtudiant :
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!
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!
A voir également:
- [java] Tableau d'objets
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Tableau word - Guide
- Site pour vendre des objets d'occasion - Guide
- Tableau ascii - Guide
3 réponses
Bonjour,
a mon avis un id devrait toujours être numérique.
Ta boucle ne fait qu'un tour avant de conclure au résultat. Il devrait avoir un seul
mot clé return et il devrait etre situé juste avant de quiter la méthode.
Donc sortir la condition return de la boucle et ca devrait aider.
a mon avis un id devrait toujours être numérique.
Ta boucle ne fait qu'un tour avant de conclure au résultat. Il devrait avoir un seul
mot clé return et il devrait etre situé juste avant de quiter la méthode.
Donc sortir la condition return de la boucle et ca devrait aider.
Impeccable, je te remercie beaucoup !
Sinon pour l'id, pour moi aussi ce devrait être un int, mais dan ce cas là, je suis obligé de faire en string, mais je ne pense pas que ça change grand chose ...
Sinon j'aurai une autre question, qu'elle est la différence entre
et ce code :
??
merci!
Sinon pour l'id, pour moi aussi ce devrait être un int, mais dan ce cas là, je suis obligé de faire en string, mais je ne pense pas que ça change grand chose ...
Sinon j'aurai une autre question, qu'elle est la différence entre
if (idMod.equals(mod[cpt].id)){
et ce code :
if (idMod==(mod[cpt].id)){
??
merci!
Bonjour,
Je répond un peu en retard, mais je me dis que ça pourrait éventuellement servir à d'autre qui se poseraient la question.
La différence entre == et equals :
== fait la comparaison entre des objets. S'ils pointent tous les deux vers des adresses différentes alors qu'ils sont identiques en terme de valeurs des attributs, le == retournera quand même FALSE.
equals() permettra quant à lui de tester les valeurs.
Je répond un peu en retard, mais je me dis que ça pourrait éventuellement servir à d'autre qui se poseraient la question.
La différence entre == et equals :
== fait la comparaison entre des objets. S'ils pointent tous les deux vers des adresses différentes alors qu'ils sont identiques en terme de valeurs des attributs, le == retournera quand même FALSE.
equals() permettra quant à lui de tester les valeurs.