//GeometricObject类
public abstract class GeometricObject {
private String color = "white";
private boolean filled;
private java.util.Date dateCreated;
protected GeometricObject() {
dateCreated = new java.util.Date();
}
protected GeometricObject(String color,boolean filled) {
dateCreated = new java.util.Date();
this.color = color;
this.filled = filled;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
//子类
public class Triangle extends GeometricObject{
private double side1;
private double side2;
private double side3;
public Triangle() {
};
public Triangle(double side1,double side2,double side3,boolean filled,String color) {
this.side1 = side1;
this.side2 = side2;
this.side3 = side3;
setFilled(filled);
setColor(color);
}
public double getSide1() {
return side1;
}
public void setSide1(double side1) {
this.side1 = side1;
}
public double getSide2() {
return side2;
}
public void setSide2(double side2) {
this.side2 = side2;
}
public double getSide3() {
return side3;
}
public void setSide3(double side3) {
this.side3 = side3;
}
public double getArea() {
double p = (side1+side2+side3)/2;
return Math.sqrt(p*(p-side1)*(p-side2)*(p-side3));
}
public double getPerimeter() {
return side1+side2+side3;
}
}
//测试类
import java.util.Scanner;
public class TestTriangle {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入三条边长,颜色,以及一个布尔值表示是否填充: ");
double side1 = input.nextDouble();
double side2 = input.nextDouble();
double side3 = input.nextDouble();
String color = input.next();
boolean filled = input.nextBoolean();
GeometricObject object = new Triangle(side1,side2,side3,filled,color);
System.out.println("The area is "+ object.getArea());
System.out.println("The perimeter is "+ object.getPerimeter());
System.out.println(object.toString());
}
}
第十三章第一题
最新推荐文章于 2024-07-29 14:22:26 发布