求数组中元素的平均值

package com.test;
public class Test {
    public static void main(String[] args){
        int[] arr = {1,2,3,4,5,6};
        double ret = avg(arr);  //调用求数组所有元素平均值方法
        System.out.println(ret);
    }
    //求数组所有元素平均值方法
    public  static double avg(int[] arr){
        double avg = 0;
        for (int i = 0;i < arr.length;i++){  //遍历数组arr
            avg += arr[i];  //求arr数组所有元素的累加和
        }
        avg = avg / arr.length;  //求arr数组所有元素的平均值
        return avg;  //返回平均值
    }
}
Java 中,有多种方法可以实现数组元素平均值。 #### 方法一:使用循环累加 可以通过循环遍历数组,将数组中每个元素累加起来,然后除以数组的长度得到平均值。以下是示例代码: ```java public class AverageDemo { // 数组元素平均值 public static double averageArray(float[] arr) { double sum = 0; // 累加和公式 for (int i = 0; i < arr.length; i++) { sum += arr[i]; } // 计算平均值 return sum / arr.length; } public static void main(String[] args) { // 创建 float 类型的数组并初始化 float[] arr = {78.5f, 98.5f, 65.5f, 32.5f}; // 调用方法平均值并打印输出 double average = averageArray(arr); System.out.println("数据组平均值为:" + average); } } ``` 此方法的核心在于使用`for`循环遍历数组,将元素累加到`sum`变量中,最后除以数组长度得到平均值[^2]。 #### 方法二:递归和再平均值 可以使用递归的方式先数组的和,然后再计算平均值。示例代码如下: ```java public class AverageRecursive { // 递归和 public static int sum(int[] arr, int startIndex, int endIndex) { if (startIndex == endIndex) { return arr[startIndex]; } return arr[startIndex] + sum(arr, startIndex + 1, endIndex); } // 平均值 public static double average(int[] arr) { int sumValue = sum(arr, 0, arr.length - 1); return (double) sumValue / arr.length; } public static void main(String[] args) { int[] arr = {1, 2, 3, 4, 5}; double average = average(arr); System.out.println("数组元素平均值为:" + average); } } ``` 该方法中,`sum`方法通过递归的方式计算数组的和,终止条件是`startIndex == endIndex`,然后在`average`方法中,将和除以数组长度得到平均值,使用了强制类型转换确保结果为`double`类型[^1]。 #### 方法三:封装类实现 还可以通过封装一个类,在类中实现最大值和平均值的方法。示例代码如下: ```java package ikun; public class Complete { private int a[]; public Complete(int aa[]) { a = new int[aa.length]; for (int i = 0; i < aa.length; i++) { a[i] = aa[i]; } } public double avage() { double ave = 0; for (int i = 0; i < a.length; i++) { ave += a[i]; } ave /= a.length; return ave; } } import java.util.Scanner; public class Test { public static void main(String args[]) { Scanner input = new Scanner(System.in); int a[] = new int[10]; for (int i = 0; i < a.length; i++) { a[i] = input.nextInt(); } Complete c = new Complete(a); System.out.println("平均值为" + c.avage()); } } ``` 此方法将数组封装在`Complete`类中,在`avage`方法中通过循环累加元素并计算平均值,在`main`方法中创建对象并调用`avage`方法输出平均值[^3]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值