本文主要是介绍设计一个名为Triangle的类来扩展GeometricObject类。,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
设计一个名为Triangle的类来扩展GeometricObject类。该类包括:
- 三个名为side1、side2和side3的double数据域表示这个三角形的三条边,他们的默认值是1.0.
- 一个无参构造方法创建默认的三角形。
- 一个能创建带指定side1,side2和side3的三角形构造方法。
- 所有三个数据域的访问器方法。
- 一个名为getArea()的方法返回这个三角形的面积。
- 一个名为getPerimeter()的方法返回这个三角形的周长
- 一个名为toString()的方法返回这个三角形的字符串描述。
画出Triangle类和GeometricObject类的UML图,并实现这些类。编写一个测试程序,体式用户输入三角形的三条边、颜色以及一个Boolean值表明该三角形是否填充。程序应该使用户输入创建一个具有这些边并设置color和filled属性的三角形。程序应该显示面积、边长、颜色以及表明是否填充的真或者假的值。
Triangle类的UML图:
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=newSide3;}public double getSide1() {return side1;}public double getSide2() {return side2;}public double getSide3() {return side3;}public double getArea() {double P=(this.side1+this.side2+this.side3)/2;double S=Math.sqrt(P*(P-this.side1)*(P-this.side2)*(P-this.side3));return S;}public double getPerimeter() {return this.side1+this.side2+this.side3;}public String toString() {return "Triangle:side1 = "+this.side1+" side2 = "+this.side2+" side3 = "+this.side3;}public static void main(String[] args) {// TODO Auto-generated method stubdouble side1,side2,side3;String color;boolean filled;Scanner input = new Scanner(System.in);System.out.println("请输入三角形的三条边:");side1=input.nextDouble();side2=input.nextDouble();side3=input.nextDouble();System.out.println("请输入三角形的颜色:");color=input.next();System.out.println("请输入一个bool值表面该三角形是否填充:");filled=input.hasNext();Triangle a = new Triangle(side1,side2,side3);a.setColor(color);a.setFilled(filled);System.out.println("面积为:"+a.getArea()+"边长为:"+a.getPerimeter()+"颜色为:"+a.getColor()+"是否填充:"+a.isFilled());}
}
package abc;
//GeometricObject类
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+"\ncolor:"+color+"and filled:"+filled;}
}
测试程序结果:
这篇关于设计一个名为Triangle的类来扩展GeometricObject类。的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!