interface calcFigure{
double calcArea( double x, double y );
double calcVolume( double x, double y, double z );
}
class Triangle implements calcFigure {
@Override
public double calcArea(double x, double y) {
return x * y / 2;
}
@Override
public double calcVolume(double x, double y, double z) {
return this.calcArea(x, y) * z / 3;
}
}
@Override
public double calcArea(double x, double y) {
return x * y;
}
@Override
public double calcVolume(double x, double y, double z) {
return x * y * z;
}
}
class CalcShape{
public static void main
( String [] args
){ Triangle tr = new Triangle();
double x
= Double.
parseDouble( args
[0] ); // 底面の1辺の長さ(△の底辺の長さ) double y
= Double.
parseDouble( args
[1] ); // 底面のもう1辺の長さ(△の高さ) double z
= Double.
parseDouble( args
[2] ); // 立体の高さ
System.
out.
printf("三角形の面積:%.1f\n", tr.
calcArea(x,y
)); System.
out.
printf("三角錐の体積:%.1f\n", tr.
calcVolume(x,y,z
)); System.
out.
printf("四角形の面積:%.1f\n", rc.
calcArea(x,y
)); System.
out.
printf("直方体の体積:%.1f\n", rc.
calcVolume(x,y,z
)); }
}
aW50ZXJmYWNlIGNhbGNGaWd1cmV7Cglkb3VibGUgY2FsY0FyZWEoIGRvdWJsZSB4LCBkb3VibGUgeSApOwoJZG91YmxlIGNhbGNWb2x1bWUoIGRvdWJsZSB4LCBkb3VibGUgeSwgZG91YmxlIHogKTsKfQoKY2xhc3MgVHJpYW5nbGUgaW1wbGVtZW50cyBjYWxjRmlndXJlIHsKICAgIEBPdmVycmlkZQogICAgcHVibGljIGRvdWJsZSBjYWxjQXJlYShkb3VibGUgeCwgZG91YmxlIHkpIHsKICAgICAgICByZXR1cm4geCAqIHkgLyAyOwogICAgfQoKICAgIEBPdmVycmlkZQogICAgcHVibGljIGRvdWJsZSBjYWxjVm9sdW1lKGRvdWJsZSB4LCBkb3VibGUgeSwgZG91YmxlIHopIHsKICAgICAgICByZXR1cm4gdGhpcy5jYWxjQXJlYSh4LCB5KSAqIHogLyAzOwogICAgfQp9CgpjbGFzcyBSZWN0YW5nbGUgaW1wbGVtZW50cyBjYWxjRmlndXJlIHsKICAgIEBPdmVycmlkZQogICAgcHVibGljIGRvdWJsZSBjYWxjQXJlYShkb3VibGUgeCwgZG91YmxlIHkpIHsKICAgICAgICByZXR1cm4geCAqIHk7CiAgICB9CgogICAgQE92ZXJyaWRlCiAgICBwdWJsaWMgZG91YmxlIGNhbGNWb2x1bWUoZG91YmxlIHgsIGRvdWJsZSB5LCBkb3VibGUgeikgewogICAgICAgIHJldHVybiB4ICogeSAqIHo7CiAgICB9Cn0KCmNsYXNzIENhbGNTaGFwZXsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKCBTdHJpbmcgW10gYXJncyApewoJCVRyaWFuZ2xlIHRyID0gbmV3IFRyaWFuZ2xlKCk7CgkJUmVjdGFuZ2xlIHJjID0gbmV3IFJlY3RhbmdsZSgpOwoJCgkJZG91YmxlIHggPSBEb3VibGUucGFyc2VEb3VibGUoIGFyZ3NbMF0gKTsgLy8g5bqV6Z2i44GuMei+uuOBrumVt+OBlSjilrPjga7lupXovrrjga7plbfjgZUpCgkJZG91YmxlIHkgPSBEb3VibGUucGFyc2VEb3VibGUoIGFyZ3NbMV0gKTsgLy8g5bqV6Z2i44Gu44KC44GGMei+uuOBrumVt+OBlSjilrPjga7pq5jjgZUpCgkJZG91YmxlIHogPSBEb3VibGUucGFyc2VEb3VibGUoIGFyZ3NbMl0gKTsgLy8g56uL5L2T44Gu6auY44GVCgkJCgkJU3lzdGVtLm91dC5wcmludGYoIuS4ieinkuW9ouOBrumdouepjTolLjFmXG4iLCB0ci5jYWxjQXJlYSh4LHkpKTsKCQlTeXN0ZW0ub3V0LnByaW50Zigi5LiJ6KeS6YyQ44Gu5L2T56mNOiUuMWZcbiIsIHRyLmNhbGNWb2x1bWUoeCx5LHopKTsKCQlTeXN0ZW0ub3V0LnByaW50Zigi5Zub6KeS5b2i44Gu6Z2i56mNOiUuMWZcbiIsIHJjLmNhbGNBcmVhKHgseSkpOwoJCVN5c3RlbS5vdXQucHJpbnRmKCLnm7TmlrnkvZPjga7kvZPnqY06JS4xZlxuIiwgcmMuY2FsY1ZvbHVtZSh4LHkseikpOwoJfQp9