将数组作为参数并返回平均值

时间:2017-10-17 23:34:07

标签: java arrays

我试图获取数组的最小值,最大值和平均值。我能够成功获得最小值和最大值,但平均功能给我带来了麻烦。

无法弄清楚我的代码出错了。

package basics;

public class Arrays {

    public static void main(String []args) {



        int[] numbers;
        numbers=new int[]{24,29,17, 46, 44, 35, 37, 13, 1}; 

        int max=getMax(numbers);
        System.out.println(max);

        int min=getMin(numbers);
        System.out.println(min);

        int avg=getAverage(numbers);
        System.out.println(average);

        }


    public static int getMax(int[] inputArray){ 
            int maxValue = inputArray[0]; 
            for(int i=1;i < inputArray.length;i++){ 
              if(inputArray[i] > maxValue){ 
                 maxValue = inputArray[i]; 
              } 
            } 
            return maxValue; 
          }

    public static int getMin(int[] inputArray){ 
            int minValue = inputArray[0]; 
            for(int i=1;i<inputArray.length;i++){ 
              if(inputArray[i] < minValue){ 
                minValue = inputArray[i]; 
              } 
            } 
            return minValue; 

    public static int getAverage(int[] inputArray) {
            int getAverage = inputArray[0]; 
            int sum=0;
            for (i = 1; i < inputArray.length; i++) {
                    sum = sum + inputArray[i];
               }
                return sum / inputArray.length;
            }

      }     

 }

1 个答案:

答案 0 :(得分:2)

您没有将inputArray的第一个词添加到变量sum。此外,返回类型必须为double才能获得十进制值。

您可以尝试将sum类型更改为double,因为您没有使用getAverage变量,请将其删除并使循环遍历inputArray中的所有字词。