设计一个名为Triangle的类来扩展GeometricObject类。

设计一个名为Triangle的类来扩展GeometricObject类。该类包括:

  • 三个名为side1、side2和side3的double数据域表示这个三角形的三条边,他们的默认值是1.0.
  • 一个无参构造方法创建默认的三角形。
  • 一个能创建带指定side1,side2和side3的三角形构造方法。
  • 所有三个数据域的访问器方法。
  • 一个名为getArea()的方法返回这个三角形的面积。
  • 一个名为getPerimeter()的方法返回这个三角形的周长
  • 一个名为toString()的方法返回这个三角形的字符串描述。

画出Triangle类和GeometricObject类的UML图,并实现这些类。编写一个测试程序,体式用户输入三角形的三条边、颜色以及一个Boolean值表明该三角形是否填充。程序应该使用户输入创建一个具有这些边并设置color和filled属性的三角形。程序应该显示面积、边长、颜色以及表明是否填充的真或者假的值。
题目
Triangle类的UML图:Triangle类
GeometricObject类的UML图:在这里插入图片描述
测试程序代码:

package abc;

import java.util.Scanner;
//Triangle类
public class Triangle extends GeometricObject{
   
	private double side1;
	private double side2;
	private double side3;
	
	public Triangle(){
   
		this.side1=1;
		this.side2=1;
		this.side3=1;
	}
	public Triangle(double newSide1,double newSide2,double newSide3) {
   
		this.side1=newSide1;
		this.side2=newSide2;
		this.side3=
  • 13
    点赞
  • 77
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
为1.0的构造方法,一个计算周长的方法,一个计算面积的方法,以及相应的访问器和修改器方法。 设计思路: 1. 继承GeometricObject,Triangle需要继承GeometricObject的属性和方法。 2. 定义三个浮点型数据域side1、side2、side3,表示三角形的三个边。 3. 编写构造方法,可以构造默认一个三角形,也可以执行三边分别为1.0的构造方法。 4. 编写计算周长的方法,使用公式:周长 = side1 + side2 + side3。 5. 编写计算面积的方法,使用海伦公式:面积 = √[s(s-side1)(s-side2)(s-side3)],其中s = (side1 + side2 + side3) / 2。 6. 编写相应的访问器和修改器方法,可以获取和修改三个边的值。 代码实现如下: ``` public class Triangle extends GeometricObject { private double side1; private double side2; private double side3; public Triangle() { side1 = 1.0; side2 = 1.0; side3 = 1.0; } public Triangle(double side1, double side2, double side3) { this.side1 = side1; this.side2 = side2; this.side3 = side3; } 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 getPerimeter() { return side1 + side2 + side3; } public double getArea() { double s = (side1 + side2 + side3) / 2; return Math.sqrt(s * (s - side1) * (s - side2) * (s - side3)); } } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值