public class circle
{
double circle1;
double Xvalue;
double Yvalue;
double radius;
public double area = (3.14*(this.radius * this.radius));
public double getArea ()
{
return area;
}
}
//这是我创建对象的第二个类
public class tester
{
public static void main(String args [])
{
circle circle1 = new circle();
circle1.Xvalue = 1;
circle1.Yvalue = 2;
circle1.radius = 4;
System.out.println(getArea());
//im not too sure why the print statement won't print the method getArea.
}
}
答案 0 :(得分:0)
您需要System.out.println(circle1.getArea());
,否则它会尝试在您的Tester类中找到一个名为getArea()的方法,该方法没有这样的方法。
此外,您的代码将始终返回0的区域。这是因为您初始化数据的方式:
当你创建新的圆形对象时,它会创建xValue,因为它是一个基本类型(double而不是Double),它默认赋值为0(因为它必须有一些值)。
因此,当它到达你在那一刻定义区域变量的位置时(因为它仍然在创建你的对象,它会(区域= 3.14 *(0.0 * 0.0)),这将是0。
你真正想要的是更像这样的东西:
public class Circle {
double Xvalue;
double Yvalue;
double radius;
public Circle(double xValue, double yValue, double radius) {
this.xValue = xValue;
this.yValue = yValue;
this.radius = radius;
}
public double getArea ()
{
return 3.1415926*(this.radius * this.radius);
}
}
public class Tester
{
public static void main(String[] args)
{
Circle circle1 = new Circle(1, 2, 4);
System.out.println(circle1.getArea());
//im not too sure why the print statement won't print the method getArea.
}
}