Я работаю над классом для школьного задания, где мы пытаемся использовать интерфейсы/сравнения, а корневой класс с именем shape используется для определения других классов форм, таких как прямоугольники, круги, трапеции и т. д. Проблема, с которой я сталкиваюсь, заключается в использовании метода Square root и метода Power при попытке создать класс трапеции.
Что я пытаюсь сделать, так это получить 3-ю и 4-ю стороны трапеции, и поскольку все они будут правильными трапециями, я могу взять переменную side1 (верхняя сторона трапеции), вычесть ее из side2 ( Нижняя сторона трапеции), разделите ее на два, что каждая сторона имеет нижнюю половину прямоугольного треугольника, который я пытаюсь создать, а затем выполните теорему Пифагора, чтобы получить эту надоедливую третью сторону.
Проблема в том, что каждый раз, когда я пытаюсь запустить метод Square root (sqrt) или power (pow) для предварительного формирования этого, eclipse выдает мне сообщение об ошибке: «Метод sqrt (double) не определен для типа Trapezoid». Я понятия не имею, что мне не хватает в этом, поэтому любая помощь будет оценена.
Код у меня следующий:
import java.lang.Math;
public class Trapezoid implements Shape {
public double side1;
public double side2;
public double height;
public Trapezoid(double side1, double side2, double height){
this.side1 = side1;
this.side2 = side2;
this.height = height;
}
public double perimeter(){ //THIS IS THE METHOD CAUSING PROBLEMS!
double tosser = sqrt((((side2 - side1) / 2 *(side2 - side1) / 2) + (height*height) ) );
return (side1 + side2 + 2 * tosser );
}//end perimeter
public double area(){
return (((side1 + side2) / 2) * height);
}//end area
public String toString(){
return "The area of the trapezoid is" + area() + ".";
}//end toString
public int compareTo(Shape that){
int larger = 0;
if(this.area() > that.area())
larger = 1;
else if(this.area() < that.area())
larger = -1;
return larger;
}
}
Кроме того, класс для формы тоже довольно мал, но я не могу внести в него какие-либо изменения для этого задания:
public interface Shape {
public double area();
public double perimeter();
}
Math.sqrt()
вместо простогоsqrt()
- person Braj   schedule 14.04.2014