我必须使用构造函数编写程序,使用5种方法计算圆的面积:
圆:创建半径= 1
的圆的构造函数setRadius :采用双参数并将半径设置为参数
getRadius :返回一个带有半径值
的double参数computeDiameter :计算直径并返回直径值
computeArea :计算区域并返回区域的值
到目前为止,我到了这里..
主类:
class MyClass{
public static void main(String[] args) {
MyClass1 circle= new MyClass1();
System.out.println(circle.computeArea());
}
}
这是第二堂课..虽然我没有将它命名为 Circle ..
public class MyClass1 {
private double radius;
private double diameter;
private double area;
public MyClass1(){
radius= 1.0;
}
public void setRadius(double radius){
this.radius= radius;
}
public double getRadius(){
return radius;
}
public double computeDiameter(){
diameter= 2.0*radius;
return diameter;
}
public double computeArea(){
area= (Math.PI* Math.pow(diameter, 2))/4;
return area;
}
问题是该区域的输出为0.0
答案 0 :(得分:2)
你的diamter最初为0,只在调用computeDiameter()
后才设置为正确的值,所以尝试替换
area= (Math.PI* Math.pow(diameter, 2))/4;
与area= (Math.PI* Math.pow(computeDiameter(), 2))/4;
答案 1 :(得分:1)
嗯,你没有给直径一个值,所以直径是0。
答案 2 :(得分:1)
在构造函数中:
public MyClass1(){
radius= 1.0;
}
diameter
未初始化。所以它默认设置为0值。
你的方法:
public double computeArea(){
area= (Math.PI* Math.pow(diameter, 2))/4;
return area;
}
使用diameter
参数,但在使用时它为零。