import java.util.*;
import java.util.Scanner;
abstract class Shape{
final double PI = 3.14;//不可变静态常量
abstract public double getPerimeter();
abstract public double getArea();
}
class Rectangle extends Shape{
public int w,l;
Rectangle(int width,int length){
this.w = width;
this.l = length;
}
public double getPerimeter(){
return (w+l)*2;
}
public double getArea(){
return w*l;
}
}
class Circle extends Shape{
public int r;
Circle(int radius){
this.r = radius;
}
public double getPerimeter(){
return 2*r*PI;
}
public double getArea(){
return r*r*PI;
}
}
public class Main1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
//System.out.println("请输入整数:");,去掉
int n = in.nextInt();
Shape[] s = new Shape[n];
for(int i=0;i<n;i++){
String str = in.next();
//去掉Shape shape;//声明一个shape对象
if(str.equals("rect")) {
int w = in.nextInt();
int l = in.nextInt();
s[i] = new Rectangle(w,l);
}else {
int r = in.nextInt();
s[i]= new Circle(r);
}
//去掉s[i] = shape;//把声明的对象放入形状数组
}
System.out.println(sumAllPerimeter(s));
System.out.println(sumAllArea(s));
System.out.print("[");
for(int j=0;j<n;j++) {
if(s[j].getClass()==Rectangle.class)
System.out.print("Rectangle [width="+((Rectangle)s[j]).w+", length="+((Rectangle)s[j]).l+"]");//((Rectangle)s[j])强制类型转换
if(s[j].getClass()==Circle.class){
System.out.print("Circle [radius="+((Circle)s[j]).r+"]");
}
if(j!=n-1) {
System.out.print(", ");
}else {
System.out.println("]");
//System.out.println();ln代表输出后换行
}
}
for(int i=0;i<n;i++) {
System.out.print(s[i].getClass()+",");
System.out.println(s[i].getClass().getSuperclass());
}
}
static double sumAllArea(Shape[] s){//静态函数(Main)只能调用静态函数(sumAllArea(Shape[] s))
double sum=0;
for(int i=0;i<s.length;i++) {
Shape shape;
shape = s[i];
double d = shape.getArea();
sum = sum+d;
}
return sum;
}
static double sumAllPerimeter(Shape[] s){
double sum=0;
for(int i=0;i<s.length;i++) {
Shape shape;
shape = s[i];
double d = shape.getPerimeter();
sum = sum+d;
}
return sum;
}
}
2018-12-23
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 在5公里补给站遇见法秀老师,她总是很匀速地慢跑,而我就是忽快忽慢,上坡跑不动,下坡赶紧跑,过会儿腿痛又去按摩拉一下...