2010-11-26 20 views
0

javaの平均値を計算するメソッドを呼び出そうとしています。しかし、私がコンパイルするとき、それは常に出力された'.class' expected: System.out.println( "Average:" + Average(double Value []));ここでjavaエラー ".class expected"

は私のコードです:

public class q2 
{ 
    public static void main(String[] args) throws IOException 
    { 
     new q2().InputValue(); 
    } 

public void InputValue() throws IOException 
{ 
    BufferedReader br = new BufferedReader(
         new InputStreamReader(System.in)); 
    double[] Value = new double[10]; 
    for (int i = 0; i < 10; i++) 
    { 
     System.out.println("Please enter a value: "); 
     Value[i] = Double.parseDouble(br.readLine()); 
    } 
    System.out.println("Average: " + Average(double Value[])); 
} 

public double Average(double Value[]) 
{ 
    double average = 0; 
    for (int n = 0; n < 10; n++) 
    { 
     average = average + Value[n]; 
    } 
    average = average/10; 
    return average; 
} 
} 

おかげ

+0

あなたは本当にこのように、Average(double Value [])を呼び出していますか? それはタイプミスですか? – Reddy

+2

ところで、Javaの変数とメソッド名は、通常は小文字で始まるので、メソッドは 'inputValue()'と 'average()'で、 'double [] Value'は' double [] value '(またはさらに値'に合う)。 –

答えて

7

は、これは失敗していますビットです:

"Average: " + Average(double Value[]) 

double Value[]ビットは、例えば、メソッドの引数でなければなりません

"Average: " + Average(Value) 

通常のJava命名規則に従うことを強くお勧めします。 PascalCaseでクラスを命名し、メソッドと変数をcamelCaseで命名します。また、あなたのValue変数が実際に複数の値を保持しているとすれば、私はvaluesにそれを複数倍します。名前がうまく選択されたときに、もっと簡単なコードを読み込むことに驚かれるでしょう:)

1

提案:配列が必要なときはいつでも、ArrayListでリストインターフェイスを使用してください。あなたが愚かな間違いをするのを防ぎます。

関連する問題