当前位置: 首页 > 知识库问答 >
问题:

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

涂承运
2023-03-14

我对Java很陌生,当我试图编译我的代码时,我总是收到这个编译错误:

"MyRectangle.java: 3:错误:构造函数类中的矩形矩形不能应用于给定类型;矩形矩形1=新矩形(5.0,10.0,"red");^必需:未找到参数:双精度,双精度,字符串原因:实际和正式参数列表长度不同

MyRectangle.java: 8:错误:构造函数类中的矩形矩形不能应用于给定类型;矩形矩形2=新矩形(3.5,4.3,“黄色”);^必需:未找到参数:双精度,双精度,字符串原因:实际和正式参数列表长度不同”

这是我的代码:

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;
   }
 }

共有1个答案

娄德运
2023-03-14

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

public class MyClass(){
   //My constructor
   public MyClass(){
     //My code
   }
}
 类似资料:
  • 我正在制作一类要对复数执行的函数。当我创建一个新对象时,我收到以下错误: 错误:ComplexNumbers类中的构造函数ComplexNumbers无法应用于给定类型;复数c1=新复数(real1,imaginary1);^必需:未找到参数:int,int原因:实际参数列表和形式参数列表长度不同 错误:ComplexNumbers类中的构造函数ComplexNumbers不能应用于给定的类型;C

  • 在问我的问题之前,我想把一些事情说清楚。首先,我是Java和编程的新手。第二,这是我的第一个帖子,所以如果我做错了什么,请宽容对待我。最后,我不想要任何具体的解决办法,我的任务在任何回应这篇文章。这些问题要我来解决。我想要的是一个解释,为什么我的测试代码不能编译/运行。为了更好地理解这个问题,我将粘贴赋值信息,然后是给定的驱动程序类,然后是驱动程序类访问的我的类代码。我的编译器错误显示在标题中,但

  • 我有2个子类:职员、学生,他们属于超类人。 以下是我的老师给出的代码(任务): 我不知道我可以输入什么来创建一个没有参数的对象。它总是出现这样的错误:Person类中的构造函数Person不能应用于给定的类型;必选:java.lang.String,int 我在网上查过,有两种方法可以解决这个问题: > < li> 在超类中添加默认值:< code > Person()//不带参数。 在子类学生中

  • 我得到了下面的代码,使用数组来查找一些prim数。然而,当试图编译我的用户类PalindromeArrayUser时,它说——“类中的构造函数不能应用于给定的类型” 要求:int。找到:没有论点。原因:实际参数和正式参数列表的长度不同。 但是,我已经向构造器传递了一个int值(与我的蓝图中设计的方式相同)。我不太明白问题来自哪里。谢谢。 这是我的两节课 而这就是我的用户类问题的来源。上面的类编译良

  • 我正在做作业,所以我只想修复我的编译错误,这样我就可以继续工作了。我需要创建一个PointList类,在ArrayList中保存一个Point对象列表。PointList类应该接受任何作为Point类实例或Point子类的对象。 我不断收到一个编译器错误,上面写着 我真的不明白我错过了什么,我已经通读了这本书,似乎不明白为什么我会得到这个错误。我已经制作了 Point 类并完成了测试,但似乎无法编

  • 我收到此错误: 电动汽车.java:第 6 行:构造函数 类汽车中的汽车不能应用于给定的类型; 我不确定为什么会这样,因为ElectricCar构造函数没有引用超类(除了扩展它的类)。我该如何解决这个问题? 这是我的代码: CarTester.java: 电动汽车.java:(此类的第 6 行出现错误) } 汽车. java: }