Java 打印返回的数组
你好,这是我的第一篇帖子。 如果没有问正确的部分,我很抱歉,但是我的作业有问题。我应该写一个方法,在一个一维数组中返回5次计算。 一旦我尝试打印它,它就会为数组的每个元素打印0.0的值。我相信我可能无法将想要的值输入到返回的数组中,但我不确定。有人知道如何解决这个问题吗Java 打印返回的数组,java,arrays,methods,printing,Java,Arrays,Methods,Printing,你好,这是我的第一篇帖子。 如果没有问正确的部分,我很抱歉,但是我的作业有问题。我应该写一个方法,在一个一维数组中返回5次计算。 一旦我尝试打印它,它就会为数组的每个元素打印0.0的值。我相信我可能无法将想要的值输入到返回的数组中,但我不确定。有人知道如何解决这个问题吗 Scanner input = new Scanner(System.in); System.out.println("Please enter 5 numbers: "); double []
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;
}
}
扫描仪输入=新扫描仪(System.in);
System.out.println(“请输入5个数字:”);
double[]数字=新的double[5];
双[]答案=计算(数字);
对于(int i=0;i来说,考虑在获得输入后进行计算
double [] answers = calculations(numbers);
for(int i = 0; i<numbers.length; i++){
numbers[i] = input.nextDouble();
}
double[]答案=计算(数字);
对于(int i=0;i除了上面提到的用户puj之外,更改“find min”的这一部分:
到
否则,您将始终得到0.0作为最小值。非常感谢!!我是一个新手,在这么长时间内都无法理解。再次感谢。谢谢!我没有注意到这一点
for(int i = 0; i<numbers.length; i++){
numbers[i] = input.nextDouble();
}
double [] answers = calculations(numbers);
min = answers[1];
answers[1] = min;