Desenvolva uma classe chamada Icosidodecahedron
para representar um icosidodecaedro, ou seja, um poliedro semi-regular composto por vinte faces triangulares regulares e doze faces pentagonais regulares, considerado um dos treze Sólidos de Arquimedes. A classe possui um único atributo denominado edge
, do tipo double
, que representa a aresta do icosidodecaedro. O construtor da classe recebe como parâmetro a aresta do icosidodecaedro, cujo valor deve ser maior ou igual a zero. A aresta do icosidodecaedro pode ser obtida pelo usuário por meio do método getEdge()
. A classe também apresenta os métodos area()
e volume()
, que retornam a área e o volume do icosidodecaedro, respectivamente. A área de um icosidodecaedro de aresta a é obtida pela fórmula (5 * √3 + 3 * √(25 + 10 * √5)) * a2. O volume de um icosidodecaedro de aresta a é obtido pela fórmula 1 / 6 * (45 + 17 * √5) * a3.