You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java中如何不单独计算总和求数组age的平均值?

计算数组平均值的简便实现方式

你可以通过以下几种简洁的方式计算数组的平均值,彻底避免手动累加所有元素的繁琐操作:

1. 传统for循环求和

这是最通用的写法,适配所有Java版本,不管数组长度多少都能轻松处理:

int age[] = { 20, 17, 19, 22, 18, 18 };
int sum = 0;
for (int i = 0; i < age.length; i++) {
    sum += age[i];
}
// 若需要保留小数,可将sum和avg改为double类型
int avg = sum / age.length;
System.out.println("Their average age is :" + avg + " years.");

2. 增强for循环(foreach)

写法更简洁,无需关注索引值,代码可读性更高:

int age[] = { 20, 17, 19, 22, 18, 18 };
int sum = 0;
for (int num : age) {
    sum += num;
}
// 强制转换为double类型保留小数部分
double avg = (double) sum / age.length;
System.out.println("Their average age is :" + avg + " years.");

3. Java 8+ 流API(Stream)

一行代码完成计算,风格优雅简洁,还能自动处理空数组的安全问题:

import java.util.Arrays;

int age[] = { 20, 17, 19, 22, 18, 18 };
// average()返回OptionalDouble,用orElse处理空数组场景
double avg = Arrays.stream(age)
                   .average()
                   .orElse(0.0);
System.out.println("Their average age is :" + avg + " years.");

注意

你代码里的int avg = (age[j] + age[j++]) / age.length;是错误写法,j++的执行顺序在Java中未明确规定,会导致只错误累加部分元素,完全无法得到正确结果,请勿使用这种写法。

内容的提问来源于stack exchange,提问作者Al-amine MOUHAMAD

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 21:01:05