Desenvolva uma classe chamada Rhombicuboctahedron
para representar um rombicuboctaedro, ou seja, um poliedro semi-regular composto por oito triângulos equiláteros e dezoito quadrados, considerado um dos treze Sólidos de Arquimedes. A classe possui um único atributo denominado edge
, do tipo double
, que representa a aresta do rombicuboctaedro e cujo valor deve ser maior ou igual a zero e menor ou igual a quarenta. A classe possui dois construtores: o primeiro configura a aresta do rombicuboctaedro com o valor padrão 1.0
, e o segundo recebe como parâmetro a aresta do rombicuboctaedro. A aresta do rombicuboctaedro pode ser obtida e alterada pelo usuário por meio dos métodos getEdge()
e setEdge()
, respectivamente. A classe também apresenta os métodos area()
e volume()
, que retornam a área e o volume do rombicuboctaedro, respectivamente. A área de um rombicuboctaedro de aresta a é obtida pela fórmula (18 + 2 * √3) * a2. O volume de um rombicuboctaedro de aresta a é obtido pela fórmula 1 / 3 * (12 + 10 * √2) * a3.