第一题
【三角形类】设计一个扩展自抽象类GeometriObject的新的Triangle类。绘制Triangle类和GeometricObject类的UML图并实现Triangle类。编写一个测试程序,提示用户输入三角形的三条边、一种颜色以及一个表明该三角形是否填充的布尔值。程序应该根据用户的输入,使用这些边以及颜色和是否填充的信息,创建一个Triangle对象。程序应该显示面积、周长、颜色以及真或者假来表明是否被填充。
(1)UML图
(2)运行结果与结果分析
测试一:
通过计算可得周长与面积分别为12和6
测试二:
由于第一次输入的三条边15+17<80,故三条边无法构成三角形,重新输入后经计算无误。
(3)心得体会
此题为抽象类的简单运用,相对于下两道题较为基础,值得注意的是三角形三边关系,无法构成三角形时需要重新输入
(4)源代码
Program1:
package 实验8;
import java.util.Scanner;
public class Program1 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
double side1=0;
double side2=0;
double side3=0;
String color;
boolean flag = true;
while(flag){
System.out.println("请分别输入三角形的三条边");
side1 = input.nextDouble();
side2 = input.nextDouble();
side3 = input.nextDouble();
if(side1+side2>side3&&side1+side3>side2&&side2+side3>side1) flag = false;
else System.out.println("您输入的三条边无法构成三角形,请重新输入");
}
Triangle triangle = new Triangle(side1,side2,side3);
System.out.println("请分别输入三角形的颜色");
color = input.next();
triangle.setColor(color);
System.out.println("请输入三角形是否被填充(1代表已填充,0代表未填充)");
int flag2 = input.nextInt();
if(flag2==0) triangle.isFilled(false