import java.util.Scanner; |
public class Main { |
public static void main(String[] args) { |
Scanner scan = new Scanner(System.in); |
double length = scan.nextDouble(); |
Shape s = new Square(length); |
System.out.printf( "%.2f " , s.getPerimeter()); |
System.out.printf( "%.2f\n" , s.getArea()); |
length = scan.nextDouble(); |
double wide = scan.nextDouble(); |
Shape r = new Rectangle(length, wide); |
System.out.printf( "%.2f " , r.getPerimeter()); |
System.out.printf( "%.2f\n" , r.getArea()); |
double radius = scan.nextDouble(); |
Shape c = new Circle(radius); |
System.out.printf( "%.2f " , c.getPerimeter()); |
System.out.printf( "%.2f\n" , c.getArea()); |
scan.close(); |
} |
} |
class Shape { |
private double length; |
private double wide; |
public Shape( double len) { |
length = len; |
} |
public Shape( double len, double wi) { |
length = len; |
wide = wi; |
} |
public double getLength() { |
return length; |
} |
public double getWide() { |
return wide; |
} |
public double getPerimeter() { |
return 2 * (length + wide); |
} |
public double getArea() { |
return length * wide; |
} |
} |
class Square extends Shape { |
public Square( double len) { |
super (len, len); |
} |
public Square( double len, double wi) { |
super (len, wi); |
} |
public double getLength() { |
return super .getLength(); |
} |
public double getWide() { |
return super .getWide(); |
} |
public double getPerimeter() { |
return super .getPerimeter(); |
} |
public double getArea() { |
return super .getArea(); |
} |
} |
class Rectangle extends Square{ |
public Rectangle( double len, double wi) { |
super (len, wi); |
} |
public double getPerimeter() { |
return super .getPerimeter(); |
} |
public double getArea() { |
return super .getArea(); |
} |
} |
class Circle extends Shape{ |
public Circle( double len) { |
super (len); |
} |
public double getPerimeter() { |
return 2 * 3.14159 * super .getLength(); |
} |
public double getArea() { |
return 3.14159 * super .getLength()* super .getLength(); |
} |
} |