在Java中设计一个名为Triangle的类

在Java中设计一个名为Triangle的类,java,class,inheritance,Java,Class,Inheritance,设计一个名为Triangle的类来扩展GeometricObject。该类包含: a。三个名为side1、side2和side3的双数据字段,默认值为1.0,表示三角形的三条边 b。创建默认三角形的无参数构造函数 c。创建具有指定边1、边2和边3的三角形的构造函数 d。所有三个数据字段的访问器方法 e。一个名为getArea()的方法,返回此三角形的面积 f。一个名为getPermiture()的方法,该方法返回此三角形的周长 g。名为toString()的方法,该方法返回三角形的字符串描述 计

设计一个名为Triangle的类来扩展GeometricObject。该类包含:

a。三个名为side1、side2和side3的双数据字段,默认值为1.0,表示三角形的三条边

b。创建默认三角形的无参数构造函数

c。创建具有指定边1、边2和边3的三角形的构造函数

d。所有三个数据字段的访问器方法

e。一个名为getArea()的方法,返回此三角形的面积

f。一个名为getPermiture()的方法,该方法返回此三角形的周长

g。名为toString()的方法,该方法返回三角形的字符串描述

计算三角形面积的公式为: s=(边1+边2+边3)/2; 面积=s(s–侧1)(s–侧2)(s–侧3)

toString()方法的实现如下所示: return“Triangle:side1=“+side1+”side2=“+side2+”side3=“+side3

编写一个测试程序,提示用户输入三角形的三条边、一种颜色和一个布尔值,以指示三角形是否已填充。该程序应使用这些边创建一个三角形对象,并使用输入设置颜色和填充属性。该程序应显示面积、周长、颜色以及真或假to说明是否已填写

我试过这个问题,代码如下,但是三角形类中有一个错误,我不知道如何修复它


 //Triangle Class
      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 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 = side2;
         }
     
         public double getArea()
         {
             double area,s;
             s = (side1+side2+side3)/2;
             area = Math.sqrt(s * (s- side1) * (s - side2) * (s - side3));
             return area;
         }
     
         public double getPerimeter() 
         {
             return side1 + side2 + side3;
         }
     
         public String toString()
         {
         return " Triangle: Side 1 = " + side1 + " Side 2 = " + side2
                + " Side 3 = " + side3;
         }
         
         
     }

我得到的错误如下:

当您的类扩展另一个没有默认(无参数)构造函数的类时,您应该告诉java在构造子类的实例时如何构造其父类。在您的情况下,java不知道如何为父构造函数提供
color
filled

您应该在所有子类的构造函数中使用
super
关键字调用父构造函数,如下所示:

public类三角形扩展GeometricObject
{
// ...
公共三角()
{
超级(一些颜色,一些填充);
}
// ...
}
//GeometricObject Class
   public class GeometricObject
{
    protected String color = "white";
    protected boolean filled;
    public GeometricObject(String color, boolean filled)
    {
    this.color = color;
    this.filled = filled;
    }

//getColor()
    public String getColor()
    {
    return color;
    }

//setColor
    public void setColor(String color)
    {
    this.color = color;
    }

//isFilled
    public boolean isFilled()
    {
    return filled;
    }

//setFilled
    public void setFilled(boolean filled)
    {
    this.filled = filled;
    }
}
//Test Program
public class Lab82
{
    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(); 
    
        
        Triangle triangle = new Triangle(side1, side2, side3);
       

        System.out.println("The Triangle Sides are \n side 1: " + triangle.getSide1() + "\n Side 2: " + triangle.getSide2() + "\n Side 3: " + triangle.getSide3());
        System.out.println("The Triangle's Area is " + triangle.getArea());
        System.out.println("The Triangle's Perimeter is "+ triangle.getPerimeter());
        System.out.println("The Triangle's Color is " + triangle.getColor());
        System.out.println("Is the Triangle filled? " + triangle.isFilled());

    }
}