/* Classe punto per istanziare oggetti */
class Punto{
/* variabili d'istanza*/
private double x;
private double y;
/*Costruttore*/
public Punto(double x, double y){
this.x=x;
this.y=y;
}
/*Metodi d'istanza*/
public double getX(){
return this.x;
}
public double getY(){
return this.y;
}
public void setX(double xx){
this.x=xx;
}
public void setY(double yy){
this.y=yy;
}
public boolean equals(Punto p){
return ((this.x==p.x) && (this.y==p.y));
}
public String toString(){
return "(x="+this.getX()+",y"+this.getY()+")";
}
}
class Triangolo{
/*variabili d'istanza*/
private Punto v1;
private Punto v2;
private Punto v3;
/*Costruttore*/
public Triangolo(Punto a, Punto b, Punto c){
this.v1=a;
this.v2=b;
this.v3=c;
}
/*metodi d'istanza*/
public Punto getV1(){
return this.v1;
}
public Punto getV2(){
return this.v2;
}
public Punto getV3(){
return this.v3;
}
public void setV1(Punto x){
this.v1=x;
}
public void setV2(Punto y){
this.v2=y;
}
public void setV3(Punto z){
this.v3=z;
}
public boolean equals(Triangolo t){
return ( this.getV1().equals(t.getV1()) )&&( this.getV2().equals(t.getV2()) ) && ( this.getV3().equals(t.getV3()) );
}
}
class VerificaIsoscele{
public static void main (String[] args){
Punto v1,v2,v3;
Triangolo t;
v1=new Punto(2,1);
v2=new Punto(4,1);
v3=new Punto(4,3);
t=new Triangolo(v1,v2,v3);
System.out.println("Il triangolo descritto da"+t.toString()+
"e' iscoscele?"+verificaIsoscele(t));
}//end main
/*Metodo verifica isoscele*/
public static boolean VerificaIscoscele(Triangolo t){
double d1;
double d2;
d1=Misuratore.distanza(v1,v3);
d2=Misuratore.distanza(v2,v3);
return (d1==d2);
}
/*Misuratore*/
class Misuratore{
public double distanza(double p1x, double p1y, double p2x, double p2y){
double qd; //quadrato della distanza p1-p2
double d; //distanza p1-p2
qd=(p1x-p2x)*(p1x-p2x)+(p1y-p2y)*(p1y-p2y);
d=Math.sqrt(qd);
return d;
}
}
}//end class