2017-11-25 14 views
-3

私はJavaの初心者です。サークルの面積、円周、直径を計算する円計算ツールを作成する課題があります。プログラムは入力番号(半径)を受け入れ、その番号は円の面積、円周および直径を得るために使用されます。今回は、計算ごとに別々のメソッドを使用します。例えば、areaの値を取得するには、radiusパラメータを持つメソッド領域を記述し、double値を返す必要があります。ユーザー入力を伴うオーバーロード方法

コードが正しいかどうかわかりませんが、ゼロの値が得られています。

ユーザーが入力した値に local variableを設定しているあなたの getRadiusメソッド内
import java.util.Scanner; 

class Circle { 
static Scanner sc = new Scanner(System.in); 
private double radius; 

public double getRadius() { 
    System.out.print("Enter the radius: "); 
    int radius = sc.nextInt(); 
    return radius; 
} 

public void setRadius(double radius) { 
} 

public double diameter() { 
    double diameter = 2 * radius; 
    return diameter; 
} 

public double area() { 
    double area = Math.PI * (radius * radius); 
    return area; 
} 

public double circumference() { 
    double circumference = 2 * Math.PI * radius; 
    return circumference; 
} 
} 

public class Methods { 
public static void main(String[] args) { 
    Circle circleTest = new Circle(); 

    System.out.printf("Radius: %.1f %n", circleTest.getRadius()); 
    System.out.printf("Diameter: %.1f %n", circleTest.diameter()); 
    System.out.printf("Area: %.1f %n", circleTest.area()); 
    System.out.printf("Circumference: %.1f %n", circleTest.circumference()); 
} 
} 

答えて

0

:あなたは、直径、面積を計算するとき

int radius = sc.nextInt();

、円周あなたがinstance variableを使用している - のために例:

double diameter = 2 * radius;

インスタンス変数の値をby default is 0に設定していないためです。

+0

ユーザーが入力した半径を読み取るようにインスタンス変数を設定するにはどうすればよいですか? – Airfoil

+0

新しい変数を宣言しないように 'int'を削除してください。 –

関連する問題