como llamar un metodo de una clase a un metodo de otra clase

publicado por: Anonymous

La cuestión es la siguiente, tengo que calcular el perímetro de un triángulo pero necesito llamar el método calcularDistancia de class Punto a class Triangulo en el método calcularPerimetro o en términos simples meter un método dentro de otro método.

import java.awt.Graphics;

public class Punto {

private int x;
private int y;


@Override
public String toString() {
    return "X=" + x +"n"
           +"Y=" + y + "";
}


public Punto(int x, int y) {
    super();
    this.x = x;
    this.y = y;
}


public int getX() {
    return x;
}


public int getY() {
    return y;
}
public void mostrar() {
    System.out.println(this.toString());
}

public double calcularDistancia(Punto pb) {
    double dis=Math.sqrt(Math.pow(x-pb.getX(),2))
            +Math.pow(y-pb.getX(),2);
    return dis;
}





public class Triangulo {

private Punto puntoAX,pAY;
private Punto  puntoBX,pBY;
private Punto puntoCX,pCY;

public Triangulo(int puntoAX, int pAY, int puntoBX, int pBY, int puntoC, int pCY) {
    super();
    this.puntoAX = new Punto(puntoAX,pAY);
    this.puntoBX =new Punto(puntoBX,pBY);
    this.puntoCX = new Punto(puntoC,pCY);
}

@Override
public String toString() {
    return "Estado del tirangulon "
            +"nPunto An"+
            puntoAX+
            "nPunto Bn"+
            puntoBX+
            "nPunto Cn"+
            puntoCX
            ;
}

public void mostrarEstado() {
    System.out.println(this.toString());
    System.out.println();
}

public double calcularPerimetro() {
    return 0;


}

}

solución

Si no te entendí mal, para llamar la función calcularDistancia de Punto desde cualquier método de la clase Triangulo bastaría con instanciar un objeto de tipo Punto

Por ejemplo;

public double calcularPerimetro() {
    Punto punto = new Punto(2,3);
    double aux = punto.calcularDistancia(punto);
    //Aquí ya se podrías trabajar tranquilamente con el retorno de calcularDistancia
    return aux;
}

Espero que te sea de utilidad, saludos

Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *