如何在Java中修复“类Rectangle中的构造函数不能应用于给定类型”错误?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Java中修复“类Rectangle中的构造函数不能应用于给定类型”错误?相关的知识,希望对你有一定的参考价值。

我是Java的新手,在尝试编译代码时我一直遇到这个编译错误:

“MyRectangle.java:3:error:构造函数Rectangle类中的Rectangle不能应用于给定的类型; Rectangle rectangle1 = new Rectangle(5.0,10.0,”red“); ^ required:找不到任何参数:double,double,String reason:实际和正式的参数列表长度不同

MyRectangle.java:8:error:构造函数Rectangle类中的Rectangle不能应用于给定的类型; Rectangle rectangle2 = new Rectangle(3.5,4.3,“yellow”); ^ required:找不到参数:double,double,String reason:实际和形式参数列表的长度不同“

这是我的代码:

public class MyRectangle {
  public static void main (String[] args) {
    Rectangle rectangle1 = new Rectangle(5.0, 10.0, "red");
      System.out.println("The width of the first rectangle is " + 
          rectangle1.getWidth() + 
         " the height is " + rectangle1.getHeight() + " the area is " + 
           rectangle1.findArea() + 
           " and the color is " + rectangle1.getColor());

    Rectangle rectangle2 = new Rectangle(3.5, 4.3, "yellow");
      System.out.println("The width of the second rectangle is " + 
        rectangle2.getWidth() +
        " the height is " + rectangle2.getHeight() + " the area is " + 
          rectangle2.findArea() +
         " and the color is " + rectangle2.getColor());
  }
}

class Rectangle {
  private double width = 1.0;
  private double height = 1.0;
  private static String color = "white";

  public double MyRectangle(){ 
  }

  public double MyRectangle(double widthParam, double heightParam, String 
   colorParam){ 
  }

  public double getWidth(){
    return width;     
    }

  public void setWidth(double widthParam){
    width = widthParam;   
    }

  public double getHeight(){ 
    return height;
    }

  public void setHeight(double heightParam){
    height = heightParam;     
    }

  public String getColor(){
    return color;     
    }  

  public static void setColor(String colorParam){ 
    color = colorParam;
    }

  public double findArea(){ 
   return width * height;
   }
 }
答案

您的错误是您尝试将数据类型(double,int,float等)分配给构造函数。在Java中,构造函数仅由类的名称和参数定义。例。

public class MyClass(){
   //My constructor
   public MyClass(){
     //My code
   }
}

以上是关于如何在Java中修复“类Rectangle中的构造函数不能应用于给定类型”错误?的主要内容,如果未能解决你的问题,请参考以下文章

如何在Java中修复/实现equals方法? [重复]

如何修复错误原因:java.net.BindException:地址已在使用:在 Quarkus 中绑定?

如何修复netbeans中的java语言级别错误

OutOfMemoryError:Java 堆空间。如何修复递归方法中发生的这个错误?

如何在 MonoDevelop 中编译 MonoDroid App 时修复“OutOfMemoryError: java heap space”

java - 如何修复Java中本机查询中的无效列名