【发布时间】:2016-10-25 02:13:12
【问题描述】:
您好,我在理解这个作业时遇到了一点麻烦。几周前我刚刚开始使用 Java,我们刚刚开始构建类,所以这里是问题所在。
问题:我在使用第一个构造函数和 setRadius 时遇到了问题,我通常不知道该怎么做。我是否输入setRadius 并将该值发送到该构造函数。我该如何处理构造函数?
编写一个具有以下字段的 Circle 类:
- 半径:双精度
- PI:使用值 3.14159 初始化的最终双精度数
该类应具有以下方法:
- 构造函数:接受圆的半径作为参数。
- 构造函数:将半径字段设置为 0.0 的无参数构造函数。
- setRadius:半径字段的修改器方法。
- getRadius:半径字段的访问器方法。
- getArea:返回圆的面积,计算公式为area = PI * radius * radius。
- getDiameter:返回圆的直径,计算公式为直径=半径*2。
- getCircumference:返回圆的周长,计算公式为圆周=2 * PI * 半径。
编写一个演示 Circle 类的程序,询问用户圆的半径,创建一个 Circle 对象,然后报告圆的面积、直径和周长。
所以我写了这段代码:
public class CircleClass {
final double PI = 3.14159;
double radius;
// this constructor allows the input of the user
public CircleClass (double rad){
radius = rad;
}
// this is the default constructor in case of no user input
public CircleClass (){
radius = 0;
}
// this method allows you to set the radius
public void setRadius (double input){
//CircleClass input;
radius = input;
}
// value returners //
// returns radius
public double getRadius (){
return radius;
}
// returns area
public double getArea (){
return PI * radius * radius;
}
// returns diameter
public double getDiameter(){
return radius * 2;
}
// returns circumference
public double getCircumference(){
return 2 * PI * radius;
}
}
所以我对第一种方法感到困惑,如果你看到一些东西并且你认为我应该知道,我可能在这个程序的其他地方犯了错误,请告诉我。
【问题讨论】:
-
该程序基于用户输入,但用户输入无法发生,我假设您还没有达到程序的那个点?因为这是 setRadius() 方法所依赖的,因为它将半径设置为输入。
-
不,我没有,我只是把课程放在一起
-
嗯,这对于您理解 setRadius() 方法是必要的。我将对代码进行一些更改,并尝试解释您的问题。
-
我仍然不知道第一个构造函数是做什么的。我如何访问它的论点?如果我做对了
-
我会告诉你,一秒钟