Un (petit) problème incompréhensible!!

joshua91 Messages postés 22 Date d'inscription samedi 31 mai 2003 Statut Membre Dernière intervention 28 juin 2010 - 9 juin 2003 à 17:08
mrshardax Messages postés 47 Date d'inscription jeudi 6 février 2003 Statut Membre Dernière intervention 22 mars 2006 - 11 juin 2003 à 12:07
Salut la troupe!
voici mon "pseudo"code:

public Client trouveclient(String nom,String nclient){
for(int i=0 ; i<clients.size() ; i++){
Client a = (Client)clients.elementAt(i);
String b = a.affichnom();
String c = a.affichnclient();
if(b==nom && c==nclient) return a;
else continue;
}
}

Le compilateur me dit "22: missing return statement
public Client trouveclient(String nom,String nclient){
^
1 error

je ne comprends pas ce qu'il manque???!
ce n'est pourtant pas un code difficile.
Merci de m'éclairer.
josé.

3 réponses

mrshardax Messages postés 47 Date d'inscription jeudi 6 février 2003 Statut Membre Dernière intervention 22 mars 2006 2
9 juin 2003 à 18:45
Je crois k il faut ke ta fonction retourne un client(en tout cas, c est ce que j ai compris en lisant le message d'erreur).

Avant que tu ne me dise qu il y en a un, il faut que tu sache qu un return dans un bloc if n'est pas considéré par le compilateur compte tenu de la probabilité non nulle que tu ne rentre jaais dans ce bloc.

C'est vrai, tu fais quoi si tu trouve pas ton Client, ben il faut que ta fonction retourne par exemple 'null'. Ce qui donne :

public Client trouveclient(String nom,String nclient){
    for(int i=0 ; i<clients.size() ; i++){
        Client a = (Client)clients.elementAt(i);
        String b = a.affichnom();
        String c = a.affichnclient();
        if(b==nom && c==nclient) return a;
        else continue;
    }
    return null;
}


Voila, essaye, ca va copiler tout seul.
0
joshua91 Messages postés 22 Date d'inscription samedi 31 mai 2003 Statut Membre Dernière intervention 28 juin 2010
9 juin 2003 à 21:30
j'ai un pb à propos des données mises dans un vecteur.
En effet, ma classe Banque possède un vecteur (déclaré "static") d'objet "Client".
à chaque fois que je veux insérer un tel objet dansle vecteur, il me faut faire un "Banque B = new Banque()" puis j'appelle une méthodes qui permet l'ajout d'un nouveau "CLient" dans le vecteur grace à "addElement()".

le pb est qu'il semblerait que le vecteur se reinitialise à chaque fois que je veux y avoir acces.
il ne me trouve aucun objet dans le vecteur.

D'où la question (Enfin!! je sais c long à venir :-) ): est-ce qu'un vecteur déclaré "static" permet l'accumulation et le stockage des données jusqu'à la fermeture de l'application?

Merci d'avance et encore.

José.
0
mrshardax Messages postés 47 Date d'inscription jeudi 6 février 2003 Statut Membre Dernière intervention 22 mars 2006 2
11 juin 2003 à 12:07
Forcement, kan tu fais ca
Banque B = new Banque()
tu reinstancie ta classe = tu cree un nouvel objet banque vierge, donc, un nouveau vecteur vierge, donc vide que tu affecte a ta variable, c est pas etonnant.
Mais le propre de 'static' c est d acceder a la methode et aux variables sans instancier l objet.
0
Rejoignez-nous