在Java中使用构造函数

时间:2012-03-28 00:41:14

标签: java

当天的问题#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等)。

谢谢!

3 个答案:

答案 0 :(得分:0)

  1. 您希望通过使用Scanner类来捕获输入。您可能希望对是否输入单词而不是整数进行完整性检查,但Scanner是一个很好的起点。

  2. 对象的任何和所有相关操作都应属于对象内部。在您的情况下,由于圆周与圆相关,因此您最好在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()