1. 程式人生 > 其它 >java 抽象類、靜態成員、格式化輸出

java 抽象類、靜態成員、格式化輸出

package zxd0001;
import java.util.Scanner;
abstract class Figure { //圖形抽象類
static public double sum1=0;
static public double sum2=0;
int a,b;
char w;
abstract public void area();
}
class Ellipse extends Figure { //橢圓類
Ellipse(int x1,int x2,char x3){a=x1;b=x2;w=x3;}
public void area() {
if (w=='r') {sum1=sum1+3.14*a*b;}
else {sum2=sum2+3.14*a*b;}};
}
class Rectangle extends Figure {//矩形類
Rectangle(int x1,int x2,char x3){a=x1;b=x2;w=x3;}
public void area() {
if (w=='r') {sum1=sum1+a*b;}
else {sum2=sum2+a*b;}
};
}
public class A001 {
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
int i,n;
int x1,x2;char x3;
Figure w;
n= sc.nextInt();
for(i=0;i<n;i++){
x1= sc.nextInt();
x2= sc.nextInt();
x3= sc.next().toCharArray()[0];
w=new Ellipse(x1,x2,x3);
w.area();
}
int n1;
n1= sc.nextInt();
for(;i<n1+n;i++){
x1= sc.nextInt();
x2= sc.nextInt();
x3= sc.next().toCharArray()[0];
w=new Rectangle(x1,x2,x3);
w.area();
}
System.out.printf("red area:%.2f\n",Figure.sum1);
System.out.printf("blue area:%.2f",Figure.sum2);
}
}