Java 打印返回的数组

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 []

你好,这是我的第一篇帖子。 如果没有问正确的部分,我很抱歉,但是我的作业有问题。我应该写一个方法,在一个一维数组中返回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;
    }

}
扫描仪输入=新扫描仪(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;