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;
}
}