2013-04-27 70 views
1

我没有完成这个程序,所以我知道可能还有其他错误。我目前正在获得'.class'预期错误,由于某种原因,我看不到那个错误。
我正在使用jGrasp,这是我的Java类入门的项目。使用数组和可变长度形式参数。 (java:38:error:'.class'expected)

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 

该^总是指向量。

回答

2

,我可以看到的是你的方法调用的calcStandardDeviation方法的问题 -

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

这实际上应该是 -

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

此外,你还没有声明的变量mean(你传递给该方法)。

+0

aha!非常感谢!!这解决了它!现在完成修复更容易的错误! – Nat 2013-04-27 21:23:53

+0

终于完成了这个项目!这个错误是我身边的一个荆棘。再次感谢你的帮助! – Nat 2013-04-28 02:05:34

+0

不客气。 – 2013-04-28 15:52:41