[英]Java error - “invalid method declaration; return type required”
我们现在正在学习如何在Java
使用多个类,并且有一个项目在询问如何创建一个类Circle
,该类将包含一个radius
和一个diameter
,然后从主类中引用它来找到直径。 此代码继续收到错误(标题中提到)
public class Circle
{
public CircleR(double r)
{
radius = r;
}
public diameter()
{
double d = radius * 2;
return d;
}
}
感谢您的帮助,-AJ
更新1 :好的,但是我不必将第三行public CircleR(double r)
为double,是吗? 在我正在学习的书中,该示例没有做到这一点。
public class Circle
{
//This part is called the constructor and lets us specify the radius of a
//particular circle.
public Circle(double r)
{
radius = r;
}
//This is a method. It performs some action (in this case it calculates the
//area of the circle and returns it.
public double area( ) //area method
{
double a = Math.PI * radius * radius;
return a;
}
public double circumference( ) //circumference method
{
double c = 2 * Math.PI * radius;
return c;
}
public double radius; //This is a State Variable…also called Instance
//Field and Data Member. It is available to code
// in ALL the methods in this class.
}
如您所见,代码public Circle(double r)....
与我在public CircleR(double r)
所做的有什么不同? 无论出于什么原因,本书的代码中都没有错误,但是我的说法是那里有错误。
如您所见,代码public Circle(double r)....与我在public CircleR(double r)中所做的有什么不同? 无论出于什么原因,本书的代码中都没有错误,但是我的说法是那里有错误。
在定义类的构造函数时,它们应与该类具有相同的名称。 因此下面的代码
public class Circle
{
//This part is called the constructor and lets us specify the radius of a
//particular circle.
public Circle(double r)
{
radius = r;
}
....
}
你的代码是正确的
public class Circle
{
private double radius;
public CircleR(double r)
{
radius = r;
}
public diameter()
{
double d = radius * 2;
return d;
}
}
是错误的,因为构造函数的名称与其类不同。 您可以遵循本书中的相同代码,并从
public CircleR(double r)
至
public Circle(double r)
或者(如果您确实想将构造函数命名为CircleR),则将您的类重命名为CircleR。
所以你的新课应该是
public class CircleR
{
private double radius;
public CircleR(double r)
{
radius = r;
}
public double diameter()
{
double d = radius * 2;
return d;
}
}
正如Froyo和John B所指出的,我还在您的方法中添加了返回类型double。
请参阅有关构造函数的本文 。
HTH。
每个方法(构造函数除外)都必须具有返回类型。
public double diameter(){...
您忘记将double声明为返回类型
public double diameter()
{
double d = radius * 2;
return d;
}
将类添加到main方法时,我遇到了类似的问题。 原来这不是问题,是我没有检查拼写。 因此,作为一个菜鸟,我了解到拼写错误可以并且会弄乱事情。 这些帖子帮助我“看到”了我的错误,现在一切都很好。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.