Trojkat.java
/* Trojkat.java */
class Punkt
{
int x;
int y;
Punkt(int a, int b)
{
x = a;
y = b;
}
double odleglosc(Punkt pt)
{
return Math.sqrt((x - pt.x)*(x - pt.x) + (y - pt.y)*(y - pt.y));
}
}
class Odcinek
{
Punkt pt1;
Punkt pt2;
Odcinek(int x1, int y1, int x2, int y2)
{
pt1 = new Punkt(x1,y1);
pt2 = new Punkt(x2,y2);
}
Odcinek(Punkt pt1, Punkt pt2)
{
this.pt1 = pt1;
this.pt2 = pt2;
}
double dlugosc()
{
return pt1.odleglosc(pt2);
}
}
public class Trojkat
{
Punkt pt1, pt2, pt3;
Trojkat(Punkt pt1, Punkt pt2, Punkt pt3)
{
this.pt1 = pt1;
this.pt2 = pt2;
this.pt3 = pt3;
}
double obwod()
{
return pt1.odleglosc(pt2) + pt2.odleglosc(pt3) + pt3.odleglosc(pt1);
}
double pole()
{
double a = new Odcinek(pt1, pt2).dlugosc();
double b = new Odcinek(pt2, pt3).dlugosc();
double c = new Odcinek(pt3, pt1).dlugosc();
double p = (a + b + c) / 2;
return Math.sqrt( p*(p-a)*(p-b)*(p-c) ); // wzór Herona
}
public static void main(String[] args)
{
Punkt pt1 = new Punkt(0,0);
Punkt pt2 = new Punkt(1,0);
Punkt pt3 = new Punkt(0,1);
Trojkat tr = new Trojkat(pt1, pt2, pt3);
System.out.println("Pole trojkata: " + tr.pole());
System.out.println("Obwod trojkata: " + tr.obwod());
}
}
Pole trojkata: 0.4999999999999998
Obwod trojkata: 3.414213562373095
Press any key to continue...