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) и длину ее стороны (действительное число).
Выходные данные
Для каждой фигуры выведите ее название и длину стороны, периметр и значение внутреннего угла, как указано в примере выхода. В последней строке выведите количество сторон у всех фигур.