【发布时间】:2015-03-14 22:51:13
【问题描述】:
你好,这是我的第一篇文章。 如果没有在正确的部分询问,我很抱歉,但我在完成这项作业时遇到了麻烦。我应该编写一个方法,在一个一维数组中返回 5 个计算。 一旦我尝试打印它,它就会为数组的每个元素打印 0.0 的值。我相信我可能无法将我想要的值输入到返回的数组中,但我不确定。有谁知道如何解决这个问题?
Scanner input = new Scanner(System.in);
System.out.println("Please enter 5 numbers: ");
double [] numbers = new double[5];
double [] answers = calculations(numbers);
for(int i = 0; i<numbers.length; i++){
numbers[i] = input.nextDouble();
}
System.out.println("the maximum of the five numbers is: " + answers[0]);
System.out.println("the minimum of the five numbers is: " + answers[1]);
System.out.println("the average of the five numbers is: " + answers[2]);
System.out.println("the standard deviation of the five numbers is: " + answers[3]);
System.out.println("the sum of the five numbers is: " + answers[4]);
}
public static double[] calculations(double []numbers){
double[] answers = new double[5];
double max = numbers[1];
double min = numbers[1];
double sum = 0;
//find max
for(int i = 0; i<numbers.length; i++){
if (numbers[i] > max) max = numbers[i];
}
answers[0] = max;
//find min
for(int i = 0; i<numbers.length; i++){
if (numbers[i] < min) min = numbers[i];
}
min = answers[1];
//find sum
for(int i = 0; i<numbers.length; i++){
sum = numbers[i] + sum;
}
answers[4] = sum;
//find average
double average = (sum / numbers.length);
answers[2] = average;
//find standard dev
double sumOfSquared = 0;
for(int i = 0; i<numbers.length; i++){
sumOfSquared = sumOfSquared + Math.pow((numbers[i] - average),2);
}
double standarDev = Math.pow((sumOfSquared/numbers.length), .5);
answers[3] = standarDev;
return answers;
}
}
【问题讨论】:
标签: java arrays methods printing