(1)设计一个继承自抽象类Shape的新的Triangle类,并编写一个测试程序,提示用户输入三角形的三条边、一种颜色以及一个表明该三角形是否填充的布尔值。程序应该根据用户的输入,使用这些边以及颜色和是否填充的信息,创建一个Triangle对象。程序应该显示面积、周长、颜色以及真或者假来表明是否被填充。 (2)创建名为ComparableCircle的类,它继承自Circle类,并实现Comparable接口。设计并实现一个compareTo方法,使其根据面积比较两个圆。编写一个测试程序求出ComparableCircle对象的两个实例中的较大者。 (3)设计一个名为Colorable的接口,其中有名为howToColor()的void方法。要求可着色对象的每个类必须实现Colorable接口。设计一个继承Shape类并实现Colorable接口的名为Square的类,实现howToColor方法来输出显示消息“给所有的四条边着色”。编写一个测试程序,创建有五个Shape对象的数组。对于数组中的每个对象而言,如果对象是可着色的,则调用howToColor方法。
时间: 2023-02-09 09:42:14 浏览: 165
设计一个Triangle类
(1)这是一个示例的Triangle类,它继承自抽象类Shape:
```
public class Triangle extends Shape {
private double side1;
private double side2;
private double side3;
private String color;
private boolean filled;
public Triangle(double side1, double side2, double side3, String color, boolean filled) {
this.side1 = side1;
this.side2 = side2;
this.side3 = side3;
this.color = color;
this.filled = filled;
}
// 计算周长
public double getPerimeter() {
return side1 + side2 + side3;
}
// 计算面积
public double getArea() {
double s = getPerimeter() / 2;
return Math.sqrt(s * (s - side1) * (s - side2) * (s - side3));
}
// 获取颜色
public String getColor() {
return color;
}
// 获取是否填充
public boolean isFilled() {
return filled;
}
// 设置颜色
public void setColor(String color) {
this.color = color;
}
// 设置是否填充
public void setFilled(boolean filled) {
this.filled = filled;
}
// 输出三角形的信息
public String toString() {
return "Triangle: side1 = " + side1 + " side2 = " + side2 + " side3 = " + side3 + " color = " + color + " filled = " + filled;
}
}
```
下面是一个测试程序,提示用户输入三角形的三条边、一种颜色以及一个表明该三角形是否填充的布尔值,并根据用户的输入,使用这些边以及颜色和是否填充的信息,创建一个Triangle对象:
```
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();
阅读全文