IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Problème avec return


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2008
    Messages : 50
    Par défaut Problème avec return
    Bonjour,

    je ne comprends pas le message affiché par NetBeans à propos de cette méthode:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    public WSScheeduledAppointment getScheeduledAppointments(){
     
        try{
                // Call Web Service Operation
                org.tempuri.Kit service = new org.tempuri.Kit();
                org.tempuri.KitSoap port = service.getKitSoap();
                // TODO initialize WS operation arguments here
                java.lang.String key = "58411272-0355-46fe-b8bb-3ef6d168d1b3";
                // TODO process result here
                org.tempuri.ArrayOfWSScheeduledAppointment result = port.getScheeduledAppointments(key);
     
                ArrayList res = new ArrayList(result.getWSScheeduledAppointment());
                Iterator it = res.iterator();
                while (it.hasNext()){
                    WSScheeduledAppointment rs = (WSScheeduledAppointment) it.next();
                    return rs;
                }
        }
                catch (Exception ex) {
       // TODO handle custom exceptions here
    }
    }
    Le message est "missing return statement", or je lui dis que je veux un objet de type "WSScheeduledAppointment " et à la fin j'ai mis "return rs;"
    Tous les imports y sont:
    import java.util.ArrayList;
    import java.util.Iterator;
    import org.tempuri.WSScheeduledAppointment;

    Je ne comprends pas. Quelqu'un pourrait-il m'aider?
    Merci d'avance

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    802
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 802
    Par défaut
    Il faut que tu retourne une valeur par défaut :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    [...]
    try {
    	Iterator itr = res.getIterator();
    	while(itr.hasNext()) {
    		[...]
    		return rs;
    	}
    }
    catch(Exception ex) {
    	[...]
    }
    return null;
    Accessoirement, le return dans la boucle, c'est louche. Je pense que ton code ne fait pas ce que tu veux.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2008
    Messages : 50
    Par défaut
    Merci verbose.
    En effet, ce code n'est pas très propre, je fais ce que je peux.
    Si je sors la ligne de la boucle il commence à rouspéter par rapport à la variable "rs". Je continuerai à chercher
    Merci encore

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 34
    Par défaut
    Ton code ne marche pas parce qu'une méthode ne "return" qu'une seule fois et ensuite s'arrête. Return est une instruction d'arrêt.
    Donc si tu as besoin d'acceder à tous les éléments je te proposerais un truc de ce style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    import java.util.ArrayList;
    public class klas {
    	public void utilisation(){
    		ArrayList<WSScheeduledAppointment> arrayOfWSScheeduledAppointment = getScheeduledAppointments();
    		for (WSScheeduledAppointment  res : arrayOfWSScheeduledAppointment){
    			//tu fais ce que tu veux
    		}
    	}
     
    	public ArrayList<WSScheeduledAppointment> getScheeduledAppointments(){
    		ArrayList<WSScheeduledAppointment> res = new  ArrayList<WSScheeduledAppointment>();
    	    try{
    	    	// Call Web Service Operation
    	        org.tempuri.Kit service = new org.tempuri.Kit();
    	        org.tempuri.KitSoap port = service.getKitSoap();
    	        // TODO initialize WS operation arguments here
    	        java.lang.String key = "58411272-0355-46fe-b8bb-3ef6d168d1b3";
    	        // TODO process result here
    	        org.tempuri.ArrayOfWSScheeduledAppointment result = port.getScheeduledAppointments(key);
    	        res = result.getWSScheeduledAppointment();
    	    	}
    	    catch (Exception ex) {
    	    	// TODO handle custom exceptions here
    	    }
    	    return res;
    	}
    }

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2008
    Messages : 50
    Par défaut
    Bonjour,

    grâce qux conseils d'althea_vestrit j'ai réussi à faire marcher la méthode problématique. Maintenant je fais appel à vous pour un autre problème: il s'agit de récupérer une liste d'objets que je dois supprimer; la récupérations est faite, maintenant je ne sais plus comment passer en argument cette liste pour qu'elle soit supprimée. Voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
     
    import java.util.ArrayList;
    import org.tempuri.WSScheeduledAppointment;
     
    /**
     *
     * @author mve
     */
    public class Main_deleteScheeduledAppointmentS {
     
        public static void main(String[] args) {
     
        getScheeduledAppointments();
     
            try {
                // Call Web Service Operation
                org.tempuri.Kit service = new org.tempuri.Kit();
                org.tempuri.KitSoap port = service.getKitSoap();
                // TODO initialize WS operation arguments here
                java.lang.String key = "58411272-0355-46fe-b8bb-3ef6d168d1b3";
                org.tempuri.ArrayOfWSScheeduledAppointment wsScheeduledAppointments = new org.tempuri.ArrayOfWSScheeduledAppointment();
                wsScheeduledAppointments.getScheeduledAppointments();
                port.deleteScheeduledAppointments(key, wsScheeduledAppointments);
     
     
            } catch (Exception ex) {
                // TODO handle custom exceptions here
            }
     
    }
     
     
        public static ArrayList getScheeduledAppointments() {
     
            ArrayList<WSScheeduledAppointment> res = new ArrayList<WSScheeduledAppointment>();        
     
            try {
                // Call Web Service Operation
                org.tempuri.Kit service = new org.tempuri.Kit();
                org.tempuri.KitSoap port = service.getKitSoap();
                // TODO initialize WS operation arguments here
                java.lang.String key = "58411272-0355-46fe-b8bb-3ef6d168d1b3";
                // TODO process result here
                org.tempuri.ArrayOfWSScheeduledAppointment result = port.getScheeduledAppointments(key);
                res = new ArrayList<WSScheeduledAppointment>(result.getWSScheeduledAppointment());
                System.out.println(res);
            }
            catch (Exception ex) {
                // TODO handle custom exceptions here
            }
     
            return res;
     
     
        }
    }
    Le problème se situe à cet endroit:

    wsScheeduledAppointments.getScheeduledAppointments();

    car évidemment la méthode getScheeduledAppointments() ne fait pas partie des méthodes applicables à l'objet. En gros je dois mettre ma liste dans l'objet "wsScheeduledAppointments" pour qu'il soit supprimé.
    Auriez-vous des pistes à me donner?
    Merci d'avance

Discussions similaires

  1. [SQUID] Problème avec "Return Direct"
    Par FranT dans le forum Réseau
    Réponses: 1
    Dernier message: 25/05/2011, 15h48
  2. Problème avec un return
    Par NFHnv dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 12/05/2009, 17h46
  3. Problème de return avec l'OO
    Par Jasmine80 dans le forum Langage
    Réponses: 2
    Dernier message: 25/05/2007, 16h25
  4. Problème avec return
    Par Rémiz dans le forum Général JavaScript
    Réponses: 16
    Dernier message: 25/08/2005, 17h15
  5. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo