Работа с массивами и формальными параметрами переменной длины. (Java:38: ошибка: ожидается ".class")
Я не закончил работать над этой программой, поэтому знаю, что могут быть и другие ошибки. В настоящее время я получаю ожидаемую ошибку ".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
^ Всегда указывает на количество.
1 ответ
Решение
Я вижу проблему в том, как вы вызываете calcStandardDeviation
метод -
System.out.print("is " + calcStandardDeviation(amount, mean, double ... nums));
Это на самом деле должно быть -
System.out.print("is " + calcStandardDeviation(amount, mean, nums));
Кроме того, вы не объявили переменную mean
(что вы переходите к методу).