尝试创建一个计算圆的面积的类,输出不是我想要的。 每次用户使用扫描仪输入半径时,输出显示0.0。 我做错了什么?
import java.util.Arrays;
import java.util.Scanner;
//Circle Class
class Circle {
double radius;
double calculateArea; {
double area = 3.14 * radius * radius;
}
}
//Object
public class test {
public static void main (String [] args){
Scanner input = new Scanner (System.in);
System.out.println("This program calculates the area of a circle.");
System.out.println("\nEnter the radius of the circle and we wil do the rest!");
Circle c1 = new Circle ();
c1.radius = input.nextDouble();
System.out.println();
System.out.println("The area of your desired circle is: ");
System.out.println(c1.calculateArea);
}
}
答案 0 :(得分:0)
calculateArea
和area
。你应该将calculateArea变成一个方法。
//Circle Class
class Circle {
double radius;
double calculateArea() {
return 3.14 * radius * radius;
}
}
然后,当您想要该区域时,请致电circle.calculateArea()
。
答案 1 :(得分:0)
在没有setter或构造函数的情况下使用私有属性是不好的做法。 试试这个
class Circle {
double radius;
public Circle(double radius) {
this.radius = radius;
}
public double getArea() {
return 3.14 * this.radius * this.radius;
}
}
并将其用作
Circle circle = new Circle(input.nextDouble());
System.out.println(circle.getRadius());
答案 2 :(得分:0)
您应该将calculatearea定义为方法而不是定义它的简单字段。你应该改为:
double calculateArea() {
return 3.14 * radius * radius;
}
然后你的程序就可以了。这是一个完整的示例,直接基于您的示例,但我没有使用单独的测试类,但直接在Circle类中包含main方法
import java.util.Scanner;
public class Circle {
double radius;
double calculateArea() {
return 3.14 * radius * radius;
}
public static void main (String [] args){
Scanner input = new Scanner (System.in);
System.out.println("This program calculates the area of a circle.");
System.out.println("\nEnter the radius of the circle and we wil do the rest!");
Circle c1 = new Circle ();
c1.radius = input.nextDouble();
System.out.println();
System.out.println("The area of your desired circle is: ");
System.out.println(c1.calculateArea());
}
}