2012-03-29 44 views
0

我對Java真的很陌生,我知道我在這個程序的某個地方弄糟了。每次我嘗試修復它時,我都會變得更糟。我想要做的是創建一個基本程序來計算圓的半徑,直徑和圓周。該代碼必須包含輸出的printCircleInfo()方法,並且必須聲明並使用無參數構造函數來輸入計算數據。我完全偏離軌道與此,我認爲,但是這是我能夠做到的:試圖在基本循環程序中使用方法

import java.util.Scanner; 
public class Circle4 
{ 
public static float PI; // PI. 
public static float radius; // Radius of a circle 
public static double dia; // Diameter of the circle 
public static double area; // Area of the circle 

public Circle4() 
{ 
//Calculations 
dia = radius*2; // Diameter calculation. 
circ = PI*(radius*2); // Circumference calculation. 
area = PI*(radius*radius); // Area calculation. 
PI = 3.14159f; 
Scanner in; 
in = new Scanner(System.in); // Input Scanner 
System.out.println("Enter the radius of the circle: "); //prompt for radius of the circle 
radius = in.nextFloat(); 
} 

public static void printCircleInfo() 
{ 
    System.out.println("The diameter of the cicle is " + dia); // Output of Diameter. 
    System.out.println("The circumferance of the circle is " + circ); // Output of Circumference. 
    System.out.println("The area of the circle is " + area); // Output of Area. 
} 
public static void main (String[] args) 
{ 
circle = circleData; 
circleData = Circle4(); 
print = printCircle; 
printCircle = printCircleInfo(); 
} 
} 

我自己工作到這樣的困惑,我甚至不知道從哪裏開始,現在來解決它。非常感謝。

+0

請至少指定它出錯。應該做什麼,它究竟做了什麼?精確性是關鍵。 – paislee 2012-03-29 00:18:10

+0

一些快速註釋:您可以使用Math.PI而不是聲明自己的PI常量。其餘的靜態成員實際上不應該是靜態的。我鼓勵你閱讀靜態方法。 – 2012-03-29 00:18:29

+0

在發現我可能只是爲你做作業之前,我發佈了一個非常長的答案。相反,我會這樣說:嘗試縮放代碼,使其儘可能簡單,然後每次添加一個內容直到它工作。不要前進,直到所有事情都按照你期望的方式工作。我認爲,當我說你應該從一個只有'main()'方法的類開始,然後從那裏開始。 – dlev 2012-03-29 00:42:00

回答

0

這裏的一些問題:

(1)

public static void main (String[] args) 
{ 
circle = circleData; 
circleData = Circle4(); 
print = printCircle; 
printCircle = printCircleInfo(); 
} 

在java中,你應該聲明每個變量是什麼類型的。你會從這個代碼出現編譯錯誤

(2)
你可以聲明你領域[如radiusarea ..]爲static,並在構造函數初始化它們 - 我懷疑這是你想要的。請注意,static字段在此類的所有實例中共享。

有更多的問題與此代碼。嘗試編譯它。你的編譯器會告訴你什麼是錯的[至少是編譯時錯誤]。修復錯誤並重新編譯。