Pontos por referencia

ola’ to apanhando com um prog pra prof
“Crie um programa que leia dois pares de valores reais (coordenadas) e,
utilizando o objeto Ponto2D, mostre a distância entre as coordenadas”

dai o Ponto2D ta assim

public class Ponto2D { public double x, y; public Ponto2D () { x = 0; y = 0; } public Ponto2D (double px, double py){ x = px; y = py; } public double distancia (double px, double py){ this.x = x; this.y = y; } public double distancia (Ponto2D p){ return Math.sqrt (Math.pow (x - p.x, 2) + Math.pow (y - p.y, 2)); } public String toString () { return "Ponto2D[x=" + x + ",y="+ y + "]"; } }
e o Usaponto2D ( que eh onde vai rodar o prog)

public class UsaPonto2D{ public static void main(String args[]){ double a, b; Ponto2D d = new Ponto2D(); Scanner s = new Scanner(System.in); System.out.println("Insira um valor para a: " ); a = s.nextDouble(); System.out.println("Insira um valor para b: " ); b = s.nextDouble(); d.distancia(a, b); System.out.println("Distancia: " + d.toString()); } }
mas o resultado da sempre zero e nao o que insiro =[
como que faco pra arrumar isso?? :?: :?: :?: :roll:

Cara, o erro está aqui:

public double distancia (double px, double py){   
this.x = x;   
this.y = y;   
}

Você tem que por assim:

public double distancia (double px, double py){   
this.x = px;   
this.y = py;   
}

Abraços

deu certo xD
obrigada xD :lol: