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

  1. #1
    Nouveau membre du Club
    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
    Points : 26
    Points
    26
    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
    Points : 653
    Points
    653
    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
    Nouveau membre du Club
    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
    Points : 26
    Points
    26
    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
    Nouveau membre du Club
    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
    Points : 33
    Points
    33
    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
    Nouveau membre du Club
    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
    Points : 26
    Points
    26
    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