輸出一組圖形的面積和、周長和,其中圖形具備以下特征:
圓形:半徑;
正方形形:邊長;
三角形:三條邊長;
輸出內容如圖:

代碼演示(腳寫的):
package tuxing; import java.math.BigDecimal; class cycle{ double r; double pi=3.141592653589793; public cycle(double r){ this.r=r; } public double c_Cycle(){ return 2*pi*r; } public double s_Cycle(){ return pi*r*r; } public void showInfo(){ System.out.println("圓形 "+"半徑為:"+r+"周長為:"+c_Cycle()+"面積為:"+s_Cycle()); } } class square{ int l; public square(int l){ this.l=l; } public double c_Square(){ double c; c=4*l; BigDecimal bd=new BigDecimal(c); c=bd.setScale(1,BigDecimal.ROUND_HALF_UP).doubleValue(); return c; } public double s_Square(){ double s; s=l*l; BigDecimal bd=new BigDecimal(s); s=bd.setScale(1,BigDecimal.ROUND_HALF_UP).doubleValue(); return s; } public void showInfo(){ System.out.println("正方形 "+"邊長:"+l+"周長為:"+c_Square()+"面積為:"+s_Square()); } } class triangle{ int l1; int l2; int l3; public triangle(int l1,int l2,int l3){ this.l1=l1; this.l2=l2; this.l3=l3; } public double s_Triangle(){ double p=c_Triangle()/2; double answer=Math.sqrt(p*(p-l1)*(p-l2)*(p-l3)); BigDecimal bd=new BigDecimal(answer); answer=bd.setScale(1,BigDecimal.ROUND_HALF_UP).doubleValue(); return answer; } public double c_Triangle(){ double answer=l1+l2+l3; BigDecimal bd =new BigDecimal(answer); answer=bd.setScale(1,BigDecimal.ROUND_HALF_UP).doubleValue(); return answer; } public void showInfo(){ if(l1+l2>l3&&l1-l2<l3) System.out.println("三角形 "+"三邊長分別為:"+l1+","+l2+","+l3+","+"周長為:"+c_Triangle()+"面積為:"+s_Triangle()); else System.out.println("Error Triangle"); } } public class Test { public static void main(String[] args){ System.out.println("所有圖形:"); cycle c1 =new cycle(5); c1.showInfo(); square s2=new square(4); s2.showInfo(); square s3=new square(5); s3.showInfo(); triangle t4=new triangle(3,4,5); t4.showInfo(); double c_sum; double s_sum; c_sum=c1.c_Cycle()+s2.c_Square()+s3.c_Square()+ t4.c_Triangle(); s_sum= c1.s_Cycle()+s2.s_Square()+ s3.s_Square()+ t4.s_Triangle(); System.out.println("周長和為:"+c_sum); System.out.println("面積和為"+s_sum); } }

