Задачи
Java Regular Polygon
Java Regular Polygon
interface RegularPolygon {
int getNumSides();
double getSideLength();
static int totalSide(RegularPolygon[] rpArray) {
}
default double getPerimeter() {
}
default double getInteriorAngle() {
}
}
class EquilateralTriangle implements RegularPolygon {
private double sideLength;
public EquilateralTriangle(double sideLength) {
}
public int getNumSides() {
}
public double getSideLength() {
}
public String toString() {
}
}
class Square implements RegularPolygon {
private double sideLength;
public Square(double sideLength) {
}
public int getNumSides() {
}
public double getSideLength() {
}
public String toString() {
}
}
public class Main {
public static void main(String[] args) {
Scanner con = new Scanner(System.in);
int n = con.nextInt();
RegularPolygon[] rpArray = new RegularPolygon[n];
...
con.close();
}
}
Напишите программу согласно следующих требований:
- Создайте интерфейс RegularPolygon с двумя абстрактными методами: getNumSides и getSideLength;
- Напишите класс EquilateralTriangle, реализующий интерфейс, функция которого getNumSides возвращает 3, функция getSideLength возвращает переменную которая инициализируется конструктором;
- Напишите класс Square, реализующий интерфейс, функция которого getNumSides возвращает 4, функция getSideLength возвращает переменную которая инициализируется конструктором;
- Добавьте в интерфейс статический метод totalSides, который по массиву RegularPolygon[] возвращает сумму числа сторон всех фигур;
Добавьте два default метода:
- getPerimeter (n * length, где n - число сторон)
- getInteriorAngle ((n - 2 )π / n в радианах)
Входные данные
Первая строка содержит количество n (n ≤ 100) геометрических фигур. Каждая следующая строка содержит название фигуры (Triangle или Square) и длину ее стороны (действительное число).
Выходные данные
Для каждой фигуры выведите ее название и длину стороны, периметр и значение внутреннего угла, как указано в примере выхода. В последней строке выведите количество сторон у всех фигур.
Входные данные #1
3 Triangle 4 Square 10 Triangle 5
Выходные данные #1
Triangle 4.0000 Perimeter: 12.0000 Interior angle: 1.0472 Square 10.0000 Perimeter: 40.0000 Interior angle: 1.5708 Triangle 5.0000 Perimeter: 15.0000 Interior angle: 1.0472 Total sides: 10