Desenvolva uma classe chamada Icosagon
para representar um icoságono, ou seja, um polígono regular com vinte lados de mesmo comprimento. A classe possui um único atributo denominado side
, do tipo double
, que representa o lado do icoságono e cujo valor deve ser maior ou igual a zero e menor ou igual a vinte. A classe possui dois construtores: o primeiro configura o lado do icoságono com o valor padrão 1.0
, e o segundo recebe como parâmetro o lado do icoságono. O lado do icoságono pode ser obtido e alterado pelo usuário por meio dos métodos getSide()
e setSide()
, respectivamente. A classe também apresenta os métodos area()
e perimeter()
, que retornam a área e o perímetro do icoságono, respectivamente. A área de um icoságono de lado l é obtida pela fórmula 5 * (1 + √5 + √(5 + 2 * √5)) * l2. O perímetro de um icoságono de lado l é obtido pela fórmula 20 * l.