因此,作为一个类的作业,我尝试创建一个简单的圆形类,然后将其用作构造函数。 这是我的类(class)代码:
public class Circle
{
private double radius;
private double pi;
public void setRadius(double rad)
{
radius = rad;
}
public double getRadius()
{
return radius;
}
public double getArea()
{
return pi * radius * radius;
}
public double getDiameter()
{
return radius * 2;
}
public double getCircumference()
{
return 2 * pi * radius;
}
}
这是使用该类创建构造函数的程序:
import java.util.Scanner; //scanner class for input
public class CircleDemo
{
public static void main(String[]args)
{
double radiusIn; //gets radius from input
Scanner keyboard=new Scanner(System.in); //activates scanner class in program
System.out.print("Enter the radius of a circle: ");
radiusIn=keyboard.nextDouble();
Circle circularObject= new Circle(radiusIn);
System.out.println("The circle's area is" + circularObject.getArea());
System.out.println("The circle's diameter is" + circularObject.getDiameter());
System.out.println("The circle's circumference is" + circularObject.getCircumference());
}
}
我收到错误: 错误:Circle 类中的构造函数 Circle 无法应用于给定类型; 必需:无参数 发现:双 原因:实际参数列表和形式参数列表的长度不同
我没有发现我的代码有任何问题,但我再次使用了老师给我们的示例。
最佳答案
您正在此处调用构造函数
Circle circularObject= new Circle(radiusIn);
但是您的 Circle
类中没有定义与您传入的参数相匹配的构造函数。返回您的 Circle
类并定义采用 的构造函数>双
参数:
public Circle(double val)
{
//Implementation
}
请注意,如果您没有为类提供显式构造函数,Java 将自动为您提供一个空实现、无参数的公共(public)构造函数供您使用。一旦定义了第一个显式构造函数,该默认构造函数就消失了,这意味着您必须手动重新定义它。
关于java - 初学者 Java 构造函数中不需要参数错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28266913/