当天的问题#3。我必须设计一个程序,可以从用户读取特定的半径,然后显示相关圆的A / D / C.我已经写了我需要做的构造函数,但我似乎对我应该用它做的事情感到困惑。
如何获取构造函数中的内容并在main中使用它?
相关构造函数代码:
public class GetCircle {
private float radius;
private double diameter,circumference,area;
public GetCircle(float getRadius, double setDiameter, double setCircumference, double setArea){
radius=getRadius;
diameter=setDiameter;
circumference=setCircumference;
area=setArea;
}
public void setRadius(float getRadius){
radius=getRadius;
}
public float getRadius(){
return radius;
}
public void setDiameter(double setDiameter){
diameter=setDiameter;
}
public double setDiameter(){
return diameter;
}
public void setCircumference(double setCircumference){
circumference=setCircumference;
}
public double setCircumference(){
return circumference;
}
public void setArea(double setArea){
area=setArea;
}
public double setArea(){
return area;
}
public void answer(){
System.out.println("The Radius that you specified was: " + getRadius());
System.out.println("The Diameter of your circle is: " + setDiameter());
System.out.println("The Circumference of your circle is: " + setCircumference());
System.out.println("The Area of your circle is: " + setArea());
}
}
相关主要方法:
import java.util.Scanner;
public class Circle {
public static void main (String[] args){
double PI = 3.14159;
Scanner input = new Scanner(System.in);
System.out.println("Hello, for this exercise we require that you input the Radius of the circle of your choosing: ");
}
}
我想我真的有两个问题: 1)如何从构造函数类中获取我所获得的内容并将其引入我的main方法中。 2)为圆圈定义“数学”的最佳位置在哪里(IE2πr等)。
谢谢!
答案 0 :(得分:0)
您希望通过使用Scanner
类来捕获输入。您可能希望对是否输入单词而不是整数进行完整性检查,但Scanner
是一个很好的起点。
对象的任何和所有相关操作都应属于对象内部。在您的情况下,由于圆周与圆相关,因此您最好在public double getCircumference()
内创建Circle
之类的方法。
答案 1 :(得分:0)
拥有一个类的重点是在类中设置这些变量。在伪代码中,您要做的是:
Main: Instantiate a new circle (which calls its constructor class)
Circle: Set the internal (private and public) class variables of the circle
Circle: Now has private variables set with the values you need to get into Main
Main: Call a method on the Circle that does the Math you want
(Alt. Use your getter classes you made like circle.getRadius in the main method to use these like 'variables')
对于Math,您可以将其放在Circle中,主类中或新类中。这需要一点点计算,并取决于您自己的特定对象orientedey欲望
答案 2 :(得分:0)
我认为你应该重新审视你的Circle课程。圆圈有一个属性。这通常是半径或直径。
我更喜欢只有空构造函数。因人而异。我用一个setter来定义半径。
然后你可以做一个圈子?为每个操作添加方法:
getDiameter()
getArea()
getCircumference()
getRadius()