diff --git a/Avaldaja.java b/Avaldaja.java new file mode 100644 index 0000000..620ab62 --- /dev/null +++ b/Avaldaja.java @@ -0,0 +1,23 @@ +public class Avaldaja{ + public static void main (String[]args){ + Shape[] kujud=new Shape[7]; + kujud[0]= new Triangle("2D", 3); + kujud[1]= new Square("2D", 3); + kujud[2]= new Circle("2D", 3); + kujud[3]= new Sphere("2D", 3); + kujud[4]= new Cube("2D", 3); + kujud[5]= new Tetrahedron("2D", 3); + kujud[6]= new Circle("2D", 3); + for(Shape kujundid : kujud){ + if(kujundid instanceof twoDShape){ + System.out.printf("%s: %.2f\n", kujundid.toString(), kujundid.getAreaValue()); + }else{ + System.out.printf("%s: %.2f %s %.2f\n", kujundid.toString(), + kujundid.getAreaValue(),"ja ruumalaga", kujundid.getVolumeValue()); + } + } + + + } + +} diff --git a/Circle.java b/Circle.java new file mode 100644 index 0000000..ea9936f --- /dev/null +++ b/Circle.java @@ -0,0 +1,23 @@ +public class Circle extends twoDShape{ +private double b; + public Circle(String shape,double b ){ + super(shape); + this.b=b; + } + private double getAria(){ + return Math.PI*b*b; + } + @Override + public double getAreaValue(){ + return getAria() ; + } + @Override + public double getVolumeValue(){ + return 0; + } + + @Override + public String toString() { + return String.format("%s ring on pindalaga, ", super.toString()); + } +} diff --git a/Cube.java b/Cube.java new file mode 100644 index 0000000..33a0f42 --- /dev/null +++ b/Cube.java @@ -0,0 +1,29 @@ +public class Cube extends threeDShape{ +private double b; + + public Cube(String shape, double b ){ + super(shape); + this.b=b; + + } + private double getAria(){ + return 6*(b*b); + } + private double getVolume(){ + return b* b* b; + } + @Override + public double getAreaValue(){ + return getAria() ; + } + @Override + public double getVolumeValue(){ + return getVolume(); + } + + @Override + public String toString() { + return String.format("%s kera on pindalaga, ", super.toString()); + } + +} diff --git a/Shape.java b/Shape.java new file mode 100644 index 0000000..c75d24c --- /dev/null +++ b/Shape.java @@ -0,0 +1,4 @@ +public interface Shape { + double getAreaValue(); + double getVolumeValue(); +} diff --git a/Sphere.java b/Sphere.java new file mode 100644 index 0000000..a921f21 --- /dev/null +++ b/Sphere.java @@ -0,0 +1,26 @@ +public class Sphere extends threeDShape{ +private double b; + public Sphere(String shape, double b ){ + super(shape); + this.b=b; + } + private double getAria(){ + return 4*Math.PI*b*b; + } + private double getVolume(){ + return (4.0/3)*Math.PI*b*b*b; + } + @Override + public double getAreaValue(){ + return getAria() ; + } + @Override + public double getVolumeValue(){ + return getVolume(); + } + + @Override + public String toString() { + return String.format("%s kolmnurk on pindalaga, ", super.toString()); + } +} diff --git a/Square.java b/Square.java new file mode 100644 index 0000000..d59d2a5 --- /dev/null +++ b/Square.java @@ -0,0 +1,23 @@ +public class Square extends twoDShape{ +private double b; + public Square(String shape,double b ){ + super(shape); + this.b=b; + } + private double getAria(){ + return (b*b); + } + @Override + public double getAreaValue(){ + return getAria(); + } + @Override + public double getVolumeValue(){ + return 0; + } + + @Override + public String toString() { + return String.format("%s ruut on pindalaga, ", super.toString()); + } +} diff --git a/Tetrahedron.java b/Tetrahedron.java new file mode 100644 index 0000000..fe5caf3 --- /dev/null +++ b/Tetrahedron.java @@ -0,0 +1,27 @@ +public class Tetrahedron extends threeDShape{ +private double b; + public Tetrahedron(String shape, double b ){ + super(shape); + this.b=b; + } + private double getAria(){ + return (Math.sqrt(3)*b*b); + } + private double getVolume(){ + return ((Math.sqrt(2))/12*b*b*b); + } + @Override + public double getAreaValue(){ + return getAria() ; + } + @Override + public double getVolumeValue(){ + return getVolume(); + } + + @Override + public String toString() { + return String.format("%s triangel on pindalaga, ", super.toString()); + } + +} diff --git a/Triangle.java b/Triangle.java new file mode 100644 index 0000000..94e807f --- /dev/null +++ b/Triangle.java @@ -0,0 +1,22 @@ +public class Triangle extends twoDShape{ +private double b; + public Triangle(String shape, double b ){ + super(shape); + this.b=b; + } + private double getAriaTriangle(){ + return (b*b)/2; + } + @Override + public double getAreaValue(){ + return getAriaTriangle() ; + } + @Override + public double getVolumeValue(){ + return 0 ; + } + @Override + public String toString() { + return String.format("%s kolmnurk on pindalaga ", super.toString()); + } +} diff --git a/threeDShape.java b/threeDShape.java new file mode 100644 index 0000000..ffaff7d --- /dev/null +++ b/threeDShape.java @@ -0,0 +1,14 @@ +public abstract class threeDShape implements Shape{ +private String shape; + + public threeDShape(String shape){ + this.shape=shape; + } + private String getAria(){ + return shape; + } + @Override + public String toString() { + return shape; + } +} diff --git a/twoDShape.java b/twoDShape.java new file mode 100644 index 0000000..6502eaf --- /dev/null +++ b/twoDShape.java @@ -0,0 +1,15 @@ +public abstract class twoDShape implements Shape{ +private String shape; + + public twoDShape(String shape){ + this.shape=shape; + } + private String getAria(){ + return shape; + } + @Override + public String toString() { + return shape; + } + +}