Problème affichage résultat

Résolu
ArmandAs -  
 ArmandAs -
Bonjour,

Je souhaite exécuter mon programme qui calcule la distance de deux points mais je ne sais pas pourquoi le résultat ne s'affiche pas. Le voici.

Merci.

Configuration: Macintosh / Safari 14.0.1

class Point {
	double x;
	double y;
	
	void translate (double dx, double dy) {
		x = x + dx;
		y = y + dy; //expressions cartésiennes de la translation
	}
	double distance(Point p) {
		double dcarree = (x-p.x)*(x-p.x)-(y-p.y)*(y-p.y);
		return Math.sqrt(dcarree);
	}
	
	public static void main (String[]args) {
		Point a = new Point();
		a.x = 3;
		a.y = 2;
		a.translate(5,7);
		a.distance(a);
		
	}
	
}

1 réponse

  1. KX Messages postés 19031 Statut Modérateur 3 020
     
    Bonjour,

    Le résultat ne s'affiche pas car :
    1) tu ne récupère pas le résultat
    2) tu ne fais aucun affichage

    double resultat = ...
    System.out.println(resultat);
    1
    1. ArmandAs
       
      Je ne sais pas par quel moyen on récupère le résultat d'une méthode dans main. Y- t- il une manière pour le faire ?
      0
    2. ArmandAs
       
      Je fais à la fin de mon main
      double resultat = a.distance(a);
      		System.out.println(resultat);
      


      mais je ne sais pas pourquoi ça affiche 0.0 ?
      0
      1. KX Messages postés 19031 Statut Modérateur 3 020 > ArmandAs
         
        0.0 est le bon résultat vu que tu calcules la distance entre a et lui même.

        Pour obtenir une distance non nulle il faudrait avoir un deuxième point.
        0
    3. ArmandAs
       
      Ça a marché ! ... merci beacoup !
      0