? asked in 電腦與網際網路程式設計 · 1 decade ago

誰會寫類別建構式的java程式

寫出一個類別class的宣告語法與建構函數:

1.測試Circle、Cube產生物件,然候秀出資料。

2.

a.產生一個Circle、一個Triangle、一個Rectangle,找出Cal_area( )  面積最大者,並秀出資料。

b.產生任意個Circle物件(5個)計算其總面積和。 可用For迴圈寫,例:C5 [i]=new Circle( ); .....會寫的人可以在星期二(1/8)晚上八點前發表在這嗎?謝謝..... 

1 Answer

Rating
  • 1 decade ago
    Favorite Answer

    這位朋友你好,由於你的題目並不完全、也很模糊。所以我推測您的問題應該是有關於Shape的類別設計,因此我設計一個Shape的抽象類別,並加入一個抽象Method計算各形狀面積,程式參考如下:

    abstract class Shape{

    abstract double Cal_area();

    }

    class Circle extends Shape{

    double radius;

    Circle(double Radius){

    radius=Radius;

    }

    double Cal_area(){

    return Math.pow(radius, 2)*Math.PI;//圓形面積為PI*半徑平方

    }

    }

    class Triangle extends Shape{

    int base;

    int height;

    double Cal_area(){

    return base*height/2.0; //三角形面積為底*高除與2

    }

    }

    class Rectangle extends Shape{

    int width;

    int length;

    double Cal_area(){

    return width*length*1.0; //長方形面積為長*寬

    }

    }

    class Cube extends Shape{

    int edge;

    double Cal_area(){

    return Math.pow(edge, 3); //立方體體積為三個邊相乘

    }

    }

    public class Ex01 {

    void compare(Circle c,Triangle t,Rectangle r){ //比較三者面積大小

    if ((c.Cal_area()>t.Cal_area()) && (c.Cal_area()>r.Cal_area()))

    System.out.println("Circle面積最大");

    else if(t.Cal_area()>r.Cal_area())

    System.out.println("Triangle面積最大");

    else

    System.out.println("Rectangle面積最大");

    }

    public static void main(String[] args) {

    Circle[] Circles = new Circle[5]; //宣告五個Circles陣列物件

    for(int i=0;i<5;i++){ //建構子

    Circles[i]=new Circle(1+i);

    }

    for(int j=0;j<5;j++){ //印出體積

    System.out.println(Circles[j].Cal_area());

    }

    }

    }

    Source(s): 雲科學生。
Still have questions? Get your answers by asking now.