第十三章第一节(Triangle类)(Triangle class)

  • **13.1(Triangle类)设计一个继承了抽象类GeometriObject的新的Triangle类。绘制Triangle类和GeometriObject类的UML图并实现Triangle类。编写一个测试程序,提示用户输入三角形的三条边、颜色以及一个表明该三角形是否填充的布尔值。程序应该使用这些边来创建一个Triangle对象,并根据用户的输入来设置颜色和是否填充的属性。程序应该显示面积、周长、颜色以及表明是否被填充的真或假的值。
    **13.1(Triangle class)Design a new triangle class that inherits the abstract class geometriobject. Draw the UML diagram of triangle class and geometriobject class and implement triangle class. Write a test program, prompt the user to input three sides of the triangle, color and a Boolean value indicating whether the triangle is filled or not. The program should use these edges to create a triangle object and set color and fill properties based on user input. The program should display area, perimeter, color, and true or false values that indicate whether they are filled.
  • 参考代码:
package chapter13;import java.util.Scanner;public class Code_01 {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();System.out.print("请输入三角形的颜色:");String color = input.next();System.out.print("该三角形是否填充(true/false):");boolean filled = input.nextBoolean();GeometricObject object=new Triangle(side1,side2,side3,color,filled);System.out.println("该三角形的面积为:"+object.getArea());System.out.println("该三角形的周长为:"+object.getPerimeter());System.out.println(object.toString());}}class Triangle extends GeometricObject {private double side1;private double side2;private double side3;public Triangle() {}public Triangle(double side1, double side2, double side3) {this.side1 = side1;this.side2 = side2;this.side3 = side3;}public Triangle(double side1, double side2, double side3, String color, boolean filled) {this.side1 = side1;this.side2 = side2;this.side3 = side3;setColor(color);setFilled(filled);}public double getSide1() {return side1;}public double getSide2() {return side2;}public double getSide3() {return side3;}public void setSide1(double side1) {this.side1 = side1;}public void setSide2(double side2) {this.side2 = side2;}public void setSide3(double side3) {this.side3 = side3;}public double getArea() {double s = (side1 + side2 + side3) / 2;double area = Math.pow(s * (s - side1) * (s - side2) * (s - side3),0.5);return area;}public double getPerimeter() {return side1 + side2 + side3;}
}abstract class GeometricObject {private String color = "white";private boolean filled;private java.util.Date dateCreated;/** Construct a default geometric object */protected GeometricObject() {dateCreated = new java.util.Date();}/** Construct a geometric object with color and filled value */protected GeometricObject(String color, boolean filled) {dateCreated = new java.util.Date();this.color = color;this.filled = filled;}/** Return color */public String getColor() {return color;}/** Set a new color */public void setColor(String color) {this.color = color;}/** Return filled. Since filled is boolean,*  the get method is named isFilled */public boolean isFilled() {return filled;}/** Set a new filled */public void setFilled(boolean filled) {this.filled = filled;}/** Get dateCreated */public java.util.Date getDateCreated() {return dateCreated;}@Overridepublic String toString() {return "created on " + dateCreated + "\ncolor: " + color +" and filled: " + filled;}/** Abstract method getArea */public abstract double getArea();/** Abstract method getPerimeter */public abstract double getPerimeter();
}
  • 结果显示:
请输入三角形的三条边:3 4 5
请输入三角形的颜色:red
该三角形是否填充(true/false):true
该三角形的面积为:6.0
该三角形的周长为:12.0
created on Sat Nov 07 16:15:37 CST 2020
color: red and filled: trueProcess finished with exit code 0

第十三章第一节(Triangle类)(Triangle class)相关推荐

  1. 软件构造 第五章第一节 可复用性的度量、形态和外部观察

    第五章第一节  可复用性的度量.形态和外部观察 面向复用编程(programming for reuse):开发出可复用的软件 基于复用编程(programming with reuse):利用已有的 ...

  2. 第一章 第一节:Python基础_认识Python

    Python基础入门(全套保姆级教程) 第一章 第一节:Python基础_认识Python 1. 什么是编程 通俗易懂,编程就是用代码编写程序,编写程序有很多种办法,像c语言,javaPython语言 ...

  3. 如何建立图像数据矩阵和图像显示灰度之间的关系!_放射技术考试第四章第一节 数字图像的特征...

    第四章第一节   数字图像的特征 一.模拟与数字 (一)模拟信号 在信息科学中,能够计数的离散量称为数字信号(整数),不能计数的连续量称为模拟信号. 模拟是以某种范畴的表达方式如实地反映另一种范畴.例 ...

  4. 软件构造 第二章 第一节 软件生命周期和版本控制

    软件构造第二章 第一节 软件生命周期和版本控制 基本内容 Software Development Lifecycle (SDLC) Traditional software process mode ...

  5. 思维导图下载 注册安全_2019安全工程师《建筑实务》第二章第一节考点:物料提升机思维导图...

    2019安全工程师<安全生产专业实务-建筑施工安全>第二章第一节考点:物料提升机思维导图,本节的大部分知识点前两节塔式起重机和施工升降机相似,大家可以对比之前考点的思维导图来理解记忆,本知 ...

  6. 自然语言和计算机语言二义性,二级C++精品课程第一章第一节计算机语言及其发展...

    计算机是一个有用的工具,它能做许多事情,例如矩阵计算.方程求解.辅助设计等.要让计算机解决某一个问题之前,必须先把求解问题的步骤描述出来,这便称之为算法.下面是一个一元二次方程求根的算法实例: ◇ 计 ...

  7. 第四章 第一节:函数下

    Python基础入门(全套保姆级教程) 第四章 第一节:函数下 def wrapper(fn):def inner(*args, **kwargs);ret = fn(*args, **kwargs) ...

  8. 初步使用计算机教案ppt,第一章 第一节 初识计算机程序(课件+教案+素材)

    第一章 第一节 初识计算机程序(课件+教案+素材) ==================资料简介====================== 第一节 初识计算机程序:28张PPT ~$第一节 认识智能 ...

  9. 《啊哈!算法》第二章 - 第一节 - 解密QQ号(Java实现)

    <啊哈!算法>第二章 - 第一节- 解密QQ号(Java实现) 解密QQ号--队列 解密QQ号--队列 新学期开始了,小哈是小哼的新同桌(小哈是个小美女哦~),小哼向小哈询问 QQ号, 小 ...

最新文章

  1. UIAlertAction的用法
  2. 【廖雪峰python入门笔记】while循环
  3. 用 Flutter 开发真的NX
  4. python处理进度条
  5. matlab中的 variable,matlab中的问题Missing variable or function
  6. python项目之站长素材爬取
  7. strlensizeof
  8. asp.net中Roles和User的异常处理机制的思考
  9. 战神背光键盘如何关系_神舟战神K660E-i7D8红色背光键盘,深夜战火不熄!
  10. [导入]网络安全工作者的必杀技
  11. Ubuntu修改open files数
  12. droidcam调用手机摄像头的方法(提供PC+Android软件,不需要积分)
  13. Q4财报净亏损8350.2万美元,Unity何时摆脱亏损“魔咒”?
  14. 29. Towards Unifying the Label Space for Aspect- and Sentence-basedSentiment Analysis阅读笔记
  15. MQ-2烟雾传感器模块功能实现(STM32)
  16. HTTPS能否避免流量劫持?
  17. 第十一届蓝桥杯C++国赛C题:阶乘约数(唯一分解)
  18. 动作捕捉在各大领域的应用效果展示
  19. 专访新致云田奎:行业云服务的差异化发展 初创公司上云迫在眉睫
  20. RT-Thread 读写U盘

热门文章

  1. 南京大学赵鹏:动态环境在线学习的算法与理论研究
  2. opencv-处理yuy2格式视频
  3. 从Matlab实例学习遗传算法
  4. dell g3 3590 黑苹果折腾日记(0)
  5. C语言CRC校验码计算与校验
  6. 不要陷入「完美主义者」的陷阱,你必须填的坑
  7. 【全志R329-NPU助力】Maix-Speech为嵌入式环境设计的离线语音库
  8. 啊哈C语言第四章99乘法表
  9. SpringBoot的easyui实现导入和导出功能到excel
  10. 【CAD二次开发】第1.1 AutoCAD .NET API 基础《 了解 AutoCAD 对象层次》