Partage
  • Partager sur Facebook
  • Partager sur Twitter

probleme de methode qui est parametre

    13 mai 2009 à 23:46:27

    Bonjour,
    je suis en train de cree un service web avec java j'ai cree plusieur class mon probleme et le suivant mon methode qui contient un parametre id ne retourne pas le donnee que j'ai besoin je sais ou le probleme voila mes classe:
    package service;
    
    
    
    import java.util.Vector;
    
    import com.HabitatIntelligent.Capteur;
    import com.HabitatIntelligent.ICapteur;
    import com.HabitatIntelligent.ListCapteur;
    import com.HabitatIntelligent.ListCapteurAdapter;
    
    public class CapteurServices {
    	
    	private ListCapteur capFact = new ListCapteur();
    	public  Vector<ICapteur>	cap	= new Vector<ICapteur>();
    	
    	public ListCapteurAdapter getListCapteur()
    	{
    		capFact.getCap().add(new Capteur("0xAA3567B2C4F", "Météo","sonde la température extérieure de la maison","12°"));
    		capFact.getCap().add(new Capteur("0xAA93B10CD00", "Température","sonde la température intérieure de la maison","20°"));
    		capFact.getCap().add(new Capteur("0xAA19BCFAE99", "Thermostat","donne l’état du thermostat","eteint"));
    		capFact.getCap().add(new Capteur("0xAABFF162BFC", "Thermostat","donne le réglage du thermostat","19°"));
    		
    		return new ListCapteurAdapter(capFact);
    	}
    	public ListCapteurAdapter getCapteurById(String id)
    	{
    		int i=0;
    		for(i=0;i<cap.size();i++)
    		{
    		  if(capFact.getCap().get(i).getId()==id)
    		 return new ListCapteurAdapter(capFact);
    		 }
    		return null;
    	}
    }
    


    Merci d'avance
    • Partager sur Facebook
    • Partager sur Twitter
      14 mai 2009 à 10:41:33

      Bonjour,

      C'est pas trés propre d'avoir plusieurs return dans une méthode.
      Initialise une variable à null et retourne la.

      Est_ce que ton programme passe dans ton for? et dans ton if?
      Fait des sysout pour vérifier.
      Si ta méthode ne passe pas dans ton if c'est normal qu'elle retourne null.

      Je pense qu'elle ne passe pas dans le if car tu compare deux chaines avec un ==
      Pour comparer 2 chaines de caractéres: compareTo

      Bonne continuation,

      • Partager sur Facebook
      • Partager sur Twitter
        14 mai 2009 à 13:37:17

        Citation : helitik

        C'est pas trés propre d'avoir plusieurs return dans une méthode.
        Initialise une variable à null et retourne la.


        Excuse moi, mais je ne vois pas du tout pourquoi. Quelle raison valable ferait qu'il ne faudrait pas avoir plusieurs return dans une méthode. J'ai personnellement très souvent plusieurs return dans mes méthodes.
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          14 mai 2009 à 14:37:07

          C'est une question de style (probablement héritée du dogme du paradigme structuré disant qu'un programme ne doit avoir qu'un seul point d'entrée et un seul point de sortie)

          C'est toute fois déconseillé par la plupart des outils de contrôle qualité du code mais d'un autre coté c'est utilisé dans le code source des classes standard j2se donc, va savoir...

          Pour ma part, je choisi en fonction de la lisibilité du code qui découle du choix d'une méthode ou de l'autre.
          • Partager sur Facebook
          • Partager sur Twitter
            14 mai 2009 à 15:28:06

            Disons qu'il n'y a pas de bonnes ou mauvaises méthodes de return. Comme l'a dit Shakhal c'est histoire d'avoir un code plus lisible.
            Car selon moi quand tu commences à avoir 10 return dans une methode on a plus de chance d'oublier d'en oublier.

            Enfin ce n'était qu'une remarques qui ne t'engage en rien.

            Le problème était la condition de ton if qui n'était pas bonne...
            Est_ce réglé?

            Bonne journée,
            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              14 mai 2009 à 19:58:55

              Ta variable id est une String et la méthode getId() doit sûrement renvoyer un integer.

              De plus, en Java, tu compares 2 strings avec var.equals(var2) pour comparer seulement leurs valeurs.
              • Partager sur Facebook
              • Partager sur Twitter
                14 mai 2009 à 20:57:32

                Bonjour,
                merci a tous mais le probleme je sais la liste est cap ou autre car j'ai essai juste d'afficher la taille de liste rien donne je pense les information ou sont sockes

                Merci d'aide
                • Partager sur Facebook
                • Partager sur Twitter
                Anonyme
                  14 mai 2009 à 21:20:03

                  J'ai pas tout compris (ton français n'est pas terrible !) mais je t'invite à consulter le 'Method Summary' de la doc : http://java.sun.com/j2se/1.4.2/docs/ap [...] l/Vector.html
                  • Partager sur Facebook
                  • Partager sur Twitter
                    14 mai 2009 à 22:02:12

                    Bonjour,

                    quelqu'un peu avoir avec moi est ce que ce que j'ai est correct ou pas car je veux monterer touts les classe en relation avec je ce que montrer ci-dessus

                    Merci Cordialement
                    • Partager sur Facebook
                    • Partager sur Twitter

                    probleme de methode qui est parametre

                    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                    • Editeur
                    • Markdown