Source
package codewars;
import java.math.BigDecimal;
public class Calculator{
public double getTotalArea(Shape shape){
return new BigDecimal(Double.toString(shape.getArea())).setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();
}
public double getTotalArea(Shape... shapes){
double total = 0;
for(Shape x : shapes){
total += x.getArea();
}
return new BigDecimal(Double.toString(total)).setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();
}
}
interface Shape{
public double getArea();
}
class Square implements Shape{
private double side;
public Square(double side){
this.side = side;
}
@Override
public double getArea(){
return side * side;
}
}
class Rectangle implements Shape{
private double height;
private double width;
public Rectangle(double height,double width){
this.height = height;
this.width = width;
}
@Override
public double getArea(){
return height * width;
}
}
class Circle implements Shape{
private double radius;
public Circle(double radius){
this.radius = radius;
}
@Override
public double getArea(){
return Mathi.PI * radius * radius;
}
}
class Triangle implements Shape{
private double base;
private double height;
public Triangle(double base,double height){
this.base = base;
this.height = height;
}
@Override
public double getArea(){
return base * height / 2;
}
}