天天看點

寫一個Triangle類,其中定義域至少有其三條邊,填充顔色(此代碼又寫了一個類進行繼承)等等,并且在主函數中對其進行了展示

package experience5;

import java.util.*;

public class Triangle extends GeoObject{

private double side1;

private double side2;

private double side3;

public Triangle(){

    side1=side2=side3=1;

}

public Triangle(double side1,double side2,double side3,String s,boolean f){

    this.side1=side1;

    this.side2=side2;

    this.side3=side3;

    setC(s);

    setF(f);

}

public double getside1() {

    return side1;

}

public double getside2() {

    return side2;

}

public double getside3() {

    return side3;

}

public double getArea() {

    double s=(side1+side2+side3)/2;

    return Math.sqrt(s*(s-side1)*(s-side2)*(s-side3));

}

public double getPerimeter() {

    return side1+side2+side3;

}

public String toString() {

    return super.toString()+"  "+"  Triangle:side1=  "+side1+"  side2=  "+"  side3=  "+side3;

}

public static void main(String[] args) {

    System.out.println("please decide the number of three sides and if the Triangle should be filled and what's its color? Then put them");

    double s1,s2,s3;

    String s4;

    boolean s5;

    Scanner input=new Scanner(System.in);

    s1=input.nextDouble();

    s2=input.nextDouble();

    s3=input.nextDouble();

    s4=input.nextLine();

    s5=input.hasNext();

    Triangle t=new Triangle(s1,s2,s3,s4,s5);

    System.out.println(t.toString());

    System.out.println(t.getArea());

    System.out.println(t.getPerimeter());

}

}

class GeoObject {//複用性  //可維護性

    private String color = new String("white");

    private boolean filled;

    private Date createDate;//null

    public GeoObject(){

        createDate = new Date();

        System.out.println("GeoObject constructor...with 0 para...");

    }

    public GeoObject(String s,boolean f) {

        color = s;

        filled = f;

        createDate = new Date();

        System.out.println("GeoObject constructor...with 2 para...");

    }

    public void setC(String s) {

        color = s;

    }

    public String getC() {

        return color;

    }

    public void setF(boolean f) {

        filled = f;

    }

    public boolean getF() {

        return filled;

    }

    public Date getD() {

        return createDate;

    }

    public String toString() {

        return "created on "+createDate+"\ncolor: "+color+"\nfilled: "+filled;

    }

}