1

このプログラムの作業はまだ終わっていないので、他にも間違いがあるかもしれません。現在、「.class」の予想されるエラーが発生していますが、何らかの理由でその間違いを確認できません。
私は jGrasp を使用しています。これは、Java クラスの紹介のプロジェクトです。

import java.util.*;
import static java.lang.Math.*;

public class Final_Project_Test_Process_With_Arrays
        //Final Project
        //Mean and Standard Deviation
        //13.04.27
{
    public static void main(String[] args) {
        //Allow for the user to input numbers
        Scanner kb = new Scanner(System.in);

        System.out.println("How many numbers?");
        int amount = kb.nextInt();
        double[] nums = new double[amount];

        for (int count = 0; count < nums.length; count++) {
            System.out.print("Enter number " + (count + 1) + ": ");
            nums[count] = kb.nextDouble();
        }

        System.out.print("The mean of ");
        for (int index = 0; index < nums.length; index++) {
            System.out.print(nums[index] + ", ");
        }
        System.out.printf("is " + "%.2f", calcMean(nums));
        System.out.println();


        System.out.print("The Standard Deviation of ");
        for (int counter = 0; counter < nums.length; counter++) {
            System.out.print(nums[counter] + ", ");
        }
        System.out.print("is " + calcStandardDeviation(amount, mean,double...nums));
        System.out.println();

    }

    public static double calcMean(double[] nums) {
        double sum = 0;
        double mean = 0;
        for (int index = 0; index < nums.length; index++) {
            sum = sum + nums[index];
        }

        if (nums.length != 0)
            mean = sum / nums.length;

        return mean;
    }

    public static double calcStandardDeviation(int amount, double mean, double... nums) {
        double squared = 0;
        double sum = 0;
        double radicand = 0;
        for (double num : nums) {
            squared = pow((num - mean), 2);
            sum = sum + squared;
        }
        radicand = sum / amount;

        double standardDeviation = sqrt(radicand);

        return standardDeviation;
    }
}

簡単な答えがあることは知っており、役立つ検索を行いましたが、初心者なので、他の同様の投稿への回答を自分の問題に適用するには時間がかかりすぎます.

エラー メッセージは次のとおりです。

Final_Project_Test_Process_With_Arrays.java:38: error: '.class' expected
    System.out.print("is " + calcStandardDeviation(amount, mean, double ... nums)); 
                                               ^                             
Final_Project_Test_Process_With_Arrays.java:38: error: ')' expected
    System.out.print("is " + calcStandardDeviation(amount, mean, double ... nums)); 
                                                  ^                             
Final_Project_Test_Process_With_Arrays.java:38: error: ';' expected
    System.out.print("is " + calcStandardDeviation(amount, mean, double ... nums)); 
                                                    ^                               
Final_Project_Test_Process_With_Arrays.java:38: error: illegal start of expression
    System.out.print("is " + calcStandardDeviation(amount, mean, double ... nums)); 
                                                     ^                               4 errors  

^ は常に金額を指しています。

4

1 に答える 1

2

私が見ることができる問題は、メソッドを呼び出すcalcStandardDeviation方法です-

System.out.print("is " + calcStandardDeviation(amount, mean, double ... nums));

それは実際には-

System.out.print("is " + calcStandardDeviation(amount, mean, nums));

meanまた、 (メソッドに渡す)変数を宣言していません。

于 2013-04-27T21:19:53.723 に答える