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 :

Deux méthodes ne donnent pas la même réponse


Sujet :

avec Java

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 684
    Points : 147
    Points
    147
    Par défaut Deux méthodes ne donnent pas la même réponse
    bonjour
    j'ai essayé ce prg mais ces deux méthodes donnent pas la même réponse
    veuillez m'aidez svp

    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
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
     
    public class Points2 
    {
    	public double abs;
    	        public double ord;
    	        public static int varStat;
     
    	        public void initialiser(double x, double y)
    	        {
               abs = x; ord = y;
    	       }
     
    	       public void afficherCoord()
    	       {
              System.out.println("Le point se situe en position : " + abs + " et " + ord );
    	       }
     
    	      public void deplacerPoint(double dx, double dy)
    	      {
    	           abs += dx; ord += dy;
    	       }
     
    	       public static double calculDistance(Points2 M, Points2 N)
    	       {
    	           double distance;
    	           distance = Math.sqrt( (N.abs - M.abs) * (N.abs - M.abs) + (N.ord - M.ord) * (N.ord - M.ord) );
    	           return distance;
    	       }
     
    	       public double calculDistance(Points2 P)//méthode en question
    	              {
    	                 double distance;
    	                 distance = Math.sqrt( (this.abs - P.abs) * (this.abs - P.abs) + (this.ord - P.ord) * (this.ord - P.ord) );
    	                 return distance;
    	              }
    	       }
     
     
    public class TesterPoint2 //pour la prémiere méthode
    {	
      public static void main(String[] args) 
    	{
    		Points2 A=new Points2();
    		Points2 B=new Points2();
    		A.initialiser(2, 7);
    		A.afficherCoord();
    		A.deplacerPoint(1, 6);
    		A.afficherCoord();
    		B.initialiser(-2, 3);
    		double longueur=Points2.calculDistance(A,B);
    		System.out.println("distance entre A et B="+longueur);		
    	}
    }
    public class Tester6Points2 //pour la deuxième méhtode
    {
    	public static void main(String [] args)
    	        {
    	            Points2 A = new Points2();
    	            Points2 B = new Points2();
                A.initialiser(2, 7);
    	            B.initialiser(3, 13);
    	           A.afficherCoord();
    	           B.afficherCoord();
     
    	           double longueur = A.calculDistance(B);
    	           System.out.println("distance entre A et B = " + longueur);
    	      }
    	   }
    output pour la première méthode:
    Le point se situe en position : 2.0 et 7.0
    Le point se situe en position : 3.0 et 13.0
    distance entre A et B=11.180339887498949

    output pour la deuxème méthode:
    Le point se situe en position : 2.0 et 7.0
    Le point se situe en position : 3.0 et 13.0
    distance entre A et B = 6.082762530298219 // n'est la même réponse que la première méthode

    merci d'avance

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    La réponse est : parce que les deux distances calculées ne sont pas égales (la distance entre (2,7) et (3,13) n'est pas la même qu'entre (3,13) et (-2,3) !), donc c'est normal. Ce n'est pas parce qu'un message t'affiche une information qu'elle est vraie, ou qu'elle n'a pas changée au moment où tu fais ton calcul, ou que c'est la bonne information (si le message avait été plus précis (avec le nom du point, A ou B, tu l'aurais vu) !

    Suis pas à pas ce code, compare le avec l'autre, et tu verras pourquoi ça ne calcule pas la même chose que dans l'autre programme.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public class TesterPoint2 {	
      public static void main(String[] args)  {
    		Points2 A=new Points2();
    		Points2 B=new Points2();
    		A.initialiser(2, 7);
    		A.afficherCoord();
    		A.deplacerPoint(1, 6);
    		A.afficherCoord();
    		B.initialiser(-2, 3);
    		double longueur=Points2.calculDistance(A,B);
    		System.out.println("distance entre A et B="+longueur);		
      }
    }
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 684
    Points : 147
    Points
    147
    Par défaut
    merci beaucoup,j'ai compris

Discussions similaires

  1. Réponses: 8
    Dernier message: 03/03/2015, 22h12
  2. Deux éditeurs héxa ne donnent pas la même chose
    Par dedeff dans le forum Autres Logiciels
    Réponses: 0
    Dernier message: 23/07/2014, 16h28
  3. Réponses: 1
    Dernier message: 25/08/2012, 16h50
  4. COmparer deux attribus n'ayant pas le même format
    Par MajdiDridi dans le forum Requêtes
    Réponses: 2
    Dernier message: 07/02/2012, 17h59
  5. [MySQL] Deux tableaux identiques qui ne affichent pas la même chose
    Par somatino dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 18/12/2006, 21h02

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