fork download
  1. /*correct output*/
  2. import static java.lang.StrictMath.acos;
  3.  
  4. class nsu3 {
  5. static double PI = acos(-1);
  6.  
  7. interface Comparable{
  8. int compareTo(Shape3D o);
  9. }
  10. abstract class Shape3D implements Comparable{
  11. public Shape3D(Boolean filled) {
  12. this.filled = filled;
  13. }
  14. Boolean filled;
  15. Boolean isFilled(){
  16. return filled;
  17. }
  18. public int compareTo(Shape3D o){
  19. // returns -1 if this<o, 0 if equal, 1 if this>o
  20. double x = this.getVolume(), y = o.getVolume();
  21. if(x<y) return -1;
  22. if(x==y) return 0;
  23. return 1;
  24. }
  25. abstract double getArea();
  26. abstract double getVolume();
  27. }
  28.  
  29. class Sphere extends Shape3D {
  30. public Sphere(double radius, Boolean filled) {
  31. super(filled);
  32. this.radius = radius;
  33. }
  34. double radius;
  35. public double getArea() {
  36. return 4*PI*radius*radius;
  37. }
  38. public double getVolume() {
  39. return 4*PI*radius*radius*radius/3.0;
  40. }
  41. @Override
  42. public String toString() {
  43. return "Sphere{" +
  44. "filled=" + filled +
  45. ", radius=" + radius +
  46. '}';
  47. }
  48. }
  49. class Cube extends Shape3D {
  50. public Cube(double side, Boolean filled) {
  51. super(filled);
  52. this.side = side;
  53. }
  54. double side;
  55. public double getArea() {
  56. return 6*side*side;
  57. }
  58. public double getVolume() {
  59. return side*side*side;
  60. }
  61. @Override
  62. public String toString() {
  63. return "Cube{" +
  64. "filled=" + filled +
  65. ", side=" + side +
  66. '}';
  67. }
  68. }
  69.  
  70. public static void main(String[] args) {
  71. nsu3 nn = new nsu3();
  72. nn.solve();
  73. }
  74. public void solve(){
  75. Sphere sp = new Sphere(1, true);
  76. Sphere sp2 = new Sphere(234, true);
  77.  
  78. System.out.println(sp.getArea());
  79. System.out.println(sp2.getVolume());
  80. System.out.println(sp.compareTo(sp2));
  81.  
  82. Cube cb = new Cube(234234, false);
  83.  
  84. System.out.println(cb.getVolume());
  85. System.out.println(cb.compareTo(sp));
  86. System.out.println(cb.toString());
  87. }
  88. }
  89.  
Success #stdin #stdout 0.13s 37492KB
stdin
Standard input is empty
stdout
12.566370614359172
5.367056677006837E7
-1
1.2851381163524904E16
1
Cube{filled=false, side=234234.0}