该类包含:
三个名为side1 、 side2和side3的双精度数据字段,默认值1.0表示三角形的三个边
一个无参数构造函数,它使用指定的side1 、 side2和side3创建一个三角形。
所有三个数据字段的访问器方法。
一个名为getArea()的方法,如果这个三角形返回面积。
名为getPerimeter()的方法返回此三角形的周长。
*一个名为toString()的方法,它返回三角形的字符串描述。
关于计算三角形面积的公式,请参见 ProgrammingExercise 2.15(在 An Introduction to java Programming 第 9 版中)toString()方法实现如下:
返回“三角形:side1 =”+side1+“side2=”+side2+“side3”+side3;
为Triangle和GeometricObject类绘制 UML 图并实现这些类。编写一个测试程序,提示用户输入三角形的三个边、一种颜色和一个布尔值,以指示三角形是否被填充。程序应该用这些边创建一个三角形对象,并使用输入设置颜色和填充属性。程序应显示面积、周长、颜色和真假,以指示是否填充。
我遇到问题的练习部分是测试程序。
如果您可以通过向我提供有关如何从输入中制作三角形的指示来帮助我,我将不胜感激。
我现在的代码是这样的:
几何对象
public class GeometricObject {
private String color = " white ";
private boolean filled;
private java.util.Date dateCreated;
public GeometricObject() {
dateCreated = new java.util.Date();
}
public GeometricObject(String color, boolean filled) {
dateCreated = new java.util.Date();
this.color = color;
this.filled = filled;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public boolean isFilled() {
return filled;
}
public void setFilled(boolean filled) {
this.filled = filled;
}
public java.util.Date getDateCreated() {
return dateCreated;
}
public String toString() {
return "Created on " + dateCreated + "\n color: " + color + " and filled ";
}
}
三角计划
public class Triangle extends GeometricObject {
private double side1 = 1.0;
private double side2 = 1.0;
private double side3 = 1.0;
public Triangle() {
}
public Triangle(double side1, double side2, double side3) {
this.side1 = side1;
this.side2 = side2;
this.side3 = side3;
}
public double setSide1() {
return side1;
}
public double setSide2() {
return side2;
}
public double setSide3() {
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 = side2;
}
public double getArea() {
return (side1 + side2 + side3) / 2;
}
public double getPerimeter() {
return side1 + side2 + side3;
}
public String toString() {
return " Triangle: Side 1 = " + side1 + " Side 2 = " + side2
+ " Side 3 = " + side3;
}
}
测试程序。
import java.util.Scanner;
public class TestTriangle {
private double side1 = 1.0;
private double side2 = 1.0;
private double side3 = 1.0;
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Enter three sides of the Triangle");
double side1 = input.nextDouble();
double side2 = input.nextDouble();
double side3 = input.nextDouble();
System.out.println("Enter the color of the Triangle");
String color = input.next();
System.out.println(" Is the Triangle filled? Reply with 'True' or 'False' ");
String filled = input.next();
}
{
new Triangle(side1, side2, side3);
//How do i get the information into theTriangle?
System.out.println("The Triangle Sides are \n side 1: " + side1 + "\n Side 2: " + side2 + "\n Side 3: " + side3);
System.out.println("The Triangle's Area is " + (side1 + side2 + side3) / 2);
System.out.println("The Triangle's Perimeter is "
+ (side1 + side2 + side3));
System.out.println("The Triangle's Color is " + //what goes here?);
System.out.println("Is the Triangle filled? " + //what goes here?);
}
}