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

Java 将数组作为参数并返回平均值,java,arrays,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

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

我想不出我的代码哪里出了问题

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;
            }

      }     

 }
软件包基础;
公共类数组{
公共静态void main(字符串[]args){
int[]数字;
数字=新的整数[]{24,29,17,46,44,35,37,13,1};
int max=getMax(数字);
系统输出打印项次(最大值);
int min=getMin(数字);
系统输出打印项次(最小值);
int avg=getAverage(数字);
系统输出打印项次(平均值);
}
公共静态int getMax(int[]inputArray){
int maxValue=inputArray[0];
对于(inti=1;imaxValue){
最大值=输入阵列[i];
} 
} 
返回最大值;
}
公共静态int getMin(int[]inputArray){
int minValue=inputArray[0];

对于(int i=1;i您没有将
inputArray
的第一项添加到变量
sum
。此外,返回类型必须为双精度才能获得十进制值


您可以尝试将
sum
类型更改为double,并且,由于您没有使用
getAverage
变量,将其删除,并使循环在
inputArray
中的所有项上迭代。您如何知道它不起作用?也许您可以将您的问题包括预期的与实际的行为?也就是说,有什么特别之处关于数组中第一个不包含在平均值中的元素?@azurefrog我曾经犯过一个小错误,并花了很多时间调试它;)删除这个int-getAverage=inputArray[0];然后用I=0开始循环