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
相关产品推荐
相关产品推荐

