第十三章第一节(Triangle类)(Triangle class)
第十三章第一节(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)相关推荐
- 软件构造 第五章第一节 可复用性的度量、形态和外部观察
第五章第一节 可复用性的度量.形态和外部观察 面向复用编程(programming for reuse):开发出可复用的软件 基于复用编程(programming with reuse):利用已有的 ...
- 第一章 第一节:Python基础_认识Python
Python基础入门(全套保姆级教程) 第一章 第一节:Python基础_认识Python 1. 什么是编程 通俗易懂,编程就是用代码编写程序,编写程序有很多种办法,像c语言,javaPython语言 ...
- 如何建立图像数据矩阵和图像显示灰度之间的关系!_放射技术考试第四章第一节 数字图像的特征...
第四章第一节 数字图像的特征 一.模拟与数字 (一)模拟信号 在信息科学中,能够计数的离散量称为数字信号(整数),不能计数的连续量称为模拟信号. 模拟是以某种范畴的表达方式如实地反映另一种范畴.例 ...
- 软件构造 第二章 第一节 软件生命周期和版本控制
软件构造第二章 第一节 软件生命周期和版本控制 基本内容 Software Development Lifecycle (SDLC) Traditional software process mode ...
- 思维导图下载 注册安全_2019安全工程师《建筑实务》第二章第一节考点:物料提升机思维导图...
2019安全工程师<安全生产专业实务-建筑施工安全>第二章第一节考点:物料提升机思维导图,本节的大部分知识点前两节塔式起重机和施工升降机相似,大家可以对比之前考点的思维导图来理解记忆,本知 ...
- 自然语言和计算机语言二义性,二级C++精品课程第一章第一节计算机语言及其发展...
计算机是一个有用的工具,它能做许多事情,例如矩阵计算.方程求解.辅助设计等.要让计算机解决某一个问题之前,必须先把求解问题的步骤描述出来,这便称之为算法.下面是一个一元二次方程求根的算法实例: ◇ 计 ...
- 第四章 第一节:函数下
Python基础入门(全套保姆级教程) 第四章 第一节:函数下 def wrapper(fn):def inner(*args, **kwargs);ret = fn(*args, **kwargs) ...
- 初步使用计算机教案ppt,第一章 第一节 初识计算机程序(课件+教案+素材)
第一章 第一节 初识计算机程序(课件+教案+素材) ==================资料简介====================== 第一节 初识计算机程序:28张PPT ~$第一节 认识智能 ...
- 《啊哈!算法》第二章 - 第一节 - 解密QQ号(Java实现)
<啊哈!算法>第二章 - 第一节- 解密QQ号(Java实现) 解密QQ号--队列 解密QQ号--队列 新学期开始了,小哈是小哼的新同桌(小哈是个小美女哦~),小哼向小哈询问 QQ号, 小 ...
最新文章
- UIAlertAction的用法
- 【廖雪峰python入门笔记】while循环
- 用 Flutter 开发真的NX
- python处理进度条
- matlab中的 variable,matlab中的问题Missing variable or function
- python项目之站长素材爬取
- strlensizeof
- asp.net中Roles和User的异常处理机制的思考
- 战神背光键盘如何关系_神舟战神K660E-i7D8红色背光键盘,深夜战火不熄!
- [导入]网络安全工作者的必杀技
- Ubuntu修改open files数
- droidcam调用手机摄像头的方法(提供PC+Android软件,不需要积分)
- Q4财报净亏损8350.2万美元,Unity何时摆脱亏损“魔咒”?
- 29. Towards Unifying the Label Space for Aspect- and Sentence-basedSentiment Analysis阅读笔记
- MQ-2烟雾传感器模块功能实现(STM32)
- HTTPS能否避免流量劫持?
- 第十一届蓝桥杯C++国赛C题:阶乘约数(唯一分解)
- 动作捕捉在各大领域的应用效果展示
- 专访新致云田奎:行业云服务的差异化发展 初创公司上云迫在眉睫
- RT-Thread 读写U盘