感谢您的帮助。我编写了一个可以编译和运行的Main类。我遇到的问题是我可以使用display方法运行Test类。(没有正确地拉到新类)我必须创建一个包含3个对象的Test类,其中包含一个小值,大值和保留值。我必须使用setRadius()方法。您可以提供的任何指导都非常有用。
public class Circle
{
public static void main(String[] args)
{
//call constructor and method
Circle myCircle = new Circle();
myCircle.display();
}
//set fields
double radius;
double diameter;
double area;
//create constructor set radius & compute diameter and area.
public Circle()
{
radius= 1;
diameter = 2 * radius;
area = Math.PI * (radius * radius);
}
//set radius, diameter, and area
public void setRadius()
{
radius= 1;
diameter = radius * radius;
area = Math.PI * (radius * radius);
}
//return radius
public double getRadius()
{
return radius;
}
//write display
public void display()
{
System.out.println("The radius is " + radius);
System.out.println("The diameter is " + diameter);
System.out.println("The area is " + area);
}
}
public class TestCircle
{
public static void main(String[] args)
{
Circle circleA = new Circle();
circleA.setRadius();
System.out.println("Circle A: " + circleA.setRadius());
Circle circleB = new Circle();
circleB.setRadius();
System.out.println("Circle B: " + circlB.setRadius());
}
}
答案 0 :(得分:0)
这是一些指针:
使用构造函数在创建对象时设置实例变量的初始值。如果需要,使用set radius在创建后更改值。直径和面积是可以从半径导出的变量。我建议编写返回这些的方法。
也只是做方法名称所说的。例如,在setRadius中设置半径,没有别的。
public class Circle
{
//set fields
private double radius;
//create constructor set radius & compute diameter and area.
public Circle(double radius)
{
this.radius=radius;
}
//set radius
public void setRadius(double radius)
{
this.radius = radius;
}
public double getDiameter()
{
return 2*radius;
}
//return radius
public double getRadius()
{
return radius;
}
public double getArea()
{
return Math.PI * (radius * radius);
}
//write display
public void display()
{
System.out.println("The radius is " + radius);
System.out.println("The diameter is " + getDiameter());
System.out.println("The area is " + getArea());
}
}
public class TestCircle
{
public static void main(String[] args)
{
Circle circleA = new Circle(1.0);
circleA.display();
Circle circleB = new Circle(2.0);
circleB.display();
}
}
答案 1 :(得分:-1)
我想您想在display()
个实例上致电Circle
。这看起来像是,
public class TestCircle
{
public static void main(String[] args)
{
Circle circleA = new Circle();
circleA.setRadius();
// System.out.println("Circle A: " + circleA.setRadius());
circleA.display();
Circle circleB = new Circle();
circleB.setRadius();
// System.out.println("Circle B: " + circlB.setRadius());
circleB.display();
}
}
修改强>
您创建了circleA
和circleB
,但您的setRadius
方法没有radius
参数,您的数学似乎也已关闭。
public void setRadius(int radius)
{
this.radius = radius;
diameter = radius + radius; // <-- 2*radius (not radius*radius)
area = Math.PI * (radius * radius);
}
然后,您可以在setRadius
main()
public static void main(String[] args)
{
Circle circleA = new Circle();
circleA.setRadius(2);
circleA.display();
Circle circleB = new Circle();
circleB.setRadius(4);
circleB.display();
}