我已经做了好几天了,无法让程序运行。我必须命名3个字段,并使用setRadius()getRadius()。我还必须设置和计算setRadius()中的所有字段。起初我没有主,但一直都是错误的。我包括main,程序编译,但不会运行。请帮忙。
public class Circle
{
public static void main(String[] args)
{
Circle myCircle = new Circle();
}
double radius;
double diameter;
double area;
public void Circle()
{
radius= 1;
diameter = radius * radius;
area = Math.PI * radius * radius;
}
public void setRadius()
{
radius = 1;
diameter = radius * radius;
area = Math.PI * (radius * radius);
}
public double getRadius()
{
return radius;
}
public void display()
{
System.out.println("The radius is " + radius);
System.out.println("The diameter is " + diameter);
System.out.println("The area is " + area);
}
}
答案 0 :(得分:1)
就像有人在评论中说的那样,你的构造函数是无效的。 你的setRadius shoud得到一个参数 并在施工后调用显示
public class Circle {
public static void main(String[] args) {
Circle myCircle = new Circle();
myCircle.display();
}
double radius;
double diameter;
double area;
public Circle() {
radius = 1;
diameter = radius * radius;
area = Math.PI * radius * radius;
}
public void setRadius(double radius) {
this.radius = radius;
diameter = radius * radius;
area = Math.PI * (radius * radius);
}
public double getRadius() {
return radius;
}
public void display() {
System.out.println("The radius is " + radius);
System.out.println("The diameter is " + diameter);
System.out.println("The area is " + area);
}
}
答案 1 :(得分:0)
将myCircle.display();
添加到main。
答案 2 :(得分:0)
Main是您程序的入口点,无论您在其中包含什么内容都将运行。你的程序正在运行它只是没有做任何事情(除了创建一个圆圈)。如果您希望程序显示这些消息,则需要在main。中调用display()
。
public static void main(String[] args)
{
Circle myCircle = new Circle();
myCircle.display();
}
答案 3 :(得分:0)
有效。但只有你在这里做的是创造新的对象。 为您的对象添加更多操作。
public static void main(String[] args)
{
Circle myCircle = new Circle();
myCircle.setRadius();
myCircle.display();
}
UPD:你也有一些错误:
diametr = 2 * radius(not radius * radius)
public void Circle() - 是一个函数,而不是构造函数。使用与构造函数同名的方法是不好的做法。所以如果你想要它是一个构造函数删除'void'
如果你像这样使用setRadius方法会更灵活:
public void setRadius(double r) { radius = r; diameter = 2 * radius; area = Math.PI * radius * radius; }