Rechercher : dans
Par :

[java] Tableau d'objets

Dernière réponse le 8 aoû 2009 à 10:49:09 timon44, le 8 aoû 2009 à 01:09:31 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « [java] Tableau d'objets » dans :
Java - Les objets Voir La création d'objets Un objet est une instance de classe, la création d'objets s'appelle donc l'instanciation. Cette instanciation se fait grâce à l'opérateur new suivi du nom de la classe à instancier et de parenthèses contenant les paramètres...
Inverser les éléments d'un tableau -Récursivité- VoirVoici une procédure récursive qui permet d’inverser les éléments d’une partie d’un tableau compris entre la position p et n : Procedure Inverser (Var t : Tab; p, n : Integer); Var aux : Real; Begin If p < n Then ...
Décaler les éléments d'un tableau (Rotation) -Récursivité- VoirVoici une procédure récursive qui permet de décaler tous les éléments d’un tableau d’une position à droite à partir de la position p Procedure Decaler (Var t : Tab; p, n : integer); Begin If p
Javascript - L'objet String VoirLes particularités de l'objet String string est un mot anglais qui signifie "chaîne", il s'agit en fait de chaîne de caractères. L'objet String est un objet qui contient un certain nombre de propriétés et de méthodes permettant la manipulation...
Les classes Java VoirLa notion d'objet Le langage Java intègre fortement le concept objet, il s'agit donc d'un langage orienté objet (LOO). Le terme langage orienté objet est plus qu'une simple appellation de plus pour désigner un type de langage, il...
Java: les opérateurs VoirQu'est-ce qu'un opérateur? Les opérateurs sont des symboles qui permettent de manipuler des variables, c'est-à-dire effectuer des opérations, les évaluer, ... On distingue plusieurs types d'opérateurs : les opérateurs de calcul les...

1

caltoune, le 8 aoû 2009 à 04:19:00

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.

Répondre à caltoune

2

 timon44, le 8 aoû 2009 à 10:49:09

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

if (idMod.equals(mod[cpt].id)){ 

et ce code :
if (idMod==(mod[cpt].id)){ 


??

merci!

Répondre à timon44
Collection CommentÇaMarche.net