interface RegularPolygon {
int getNumSides();
double getSideLength();
static int totalSides(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 \leq 100) — кількість геометричних фігур. Кожен з наступних рядків містить назву фігури (Triangle або Square) і довжину її сторони (дійсне число).
Для кожної фігури виведіть її назву, довжину сторони, периметр і внутрішній кут у форматі, як у прикладі. У останньому рядку виведіть загальну кількість сторін у всіх фігурах.

Приклад 1