Реализация - Обьекто-ориентированное программирование

Для реализации задачи воспользуемся языком программирования Java и средой разработки NetBeans.

Создадим два класса: Triangle и Test. В классе Triangle будут описаны все методы, необходимые для реализации задачи, а в классе Test будет происходить тестирование.

Определение угла между сторонами a и b в градусах:

Double angle_ab() //угол ab

{

Return ((acos((a*a+b*b-c*c)/(2*a*b))))*180/PI;

}

Вычисление площади:

Double area() // площадь треугольника

{

Double p = (a + b + c) / 2;

Return ar=sqrt(p*(p-a)*(p-b)*(p-c));

}

Нахождение периметра:

Double perimetr() //периметр

{

Return a+b+c;

}

Определение высоты:

Double height_a() //высота a

{

Return (2*ar)/a;

}

Определение вида треугольника:

/*ВИД ТРЕУГОЛЬНИКА*/

Public String Char(){

If((a==b &; a!=c) || (b==c &; a!=c) || (c==a &; a!=b))

{

Return "Равнобедренный";

}

If(a==b &; b==c &; c==a){

Return "Равносторонний";

}

If(A==90 || B==90 || C==90){

Return "Прямоугольный";

}

Else{

Return "Обычный";

}

}

Для того что бы сравнивать треугольники, требуется ввести параметры второго треугольника (из класса Test):

System. out. println("Будем сравнивать треугольники y/n");

R = sc. next();

Сравнивая треугольники по трем соответственным сторонам, необходимо соотнести стороны треугольника. Для этого отсортируем их:

Private void Sort (){

Double x;

If (a > b) {

X = a;

A = b;

B = x;

}

If (b > c) {

X = b;

B = c;

C= x;

}

If (a > b) {

X = a;

A = b;

B = x;

}

}

Далее, переопределим метод equals, что бы он сравнивал стороны наших треугольников, а не их адреса:

// сравнение треугольников на равенство (метод equals()),

Public boolean equals (Triangle t){

Sort();

T. Sort();

If(this. a == t. a &;&; b == t. b &;&; c == t. c) return true;

Else return false;

}

Для представления строковой записи треугольника, переопределим метод toString:

@Override

Public String toString(){

Return "треугольник со сторонами "+a+";"+b+";"+c+"";}

В классе Test выполняются методы класса Triangle.

Похожие статьи




Реализация - Обьекто-ориентированное программирование

Предыдущая | Следующая