如何实现对int[]类型参数的整数求和并返回结果?
如何对传入的int[]类型参数中的整数值进行求和并返回计算结果?
需求说明
需要实现静态方法calculateSum,接收int[]类型参数,返回数组内所有整数的累加和,满足以下要求:
- 输入
[1,2,3]返回6 - 输入
[-7,7,3]返回3 - 输入空数组
[]返回0
现有代码问题
你提供的代码未使用传入的values参数,而是定义了固定数组并返回Integer.MIN_VALUE,完全不符合需求,需要修改核心逻辑。
解决方案
以下是几种符合要求的实现方式:
方式1:基础for循环
适合初学者理解遍历逻辑,显式处理空数组/空指针场景:
public static int calculateSum(int[] values) { // 数组为null或空时直接返回0 if (values == null || values.length == 0) { return 0; } int sum = 0; for (int i = 0; i < values.length; i++) { sum += values[i]; } return sum; }
方式2:增强for循环(更简洁)
简化遍历代码,空数组时循环不会执行,sum保持初始值0,无需额外判断:
public static int calculateSum(int[] values) { int sum = 0; for (int num : values) { sum += num; } return sum; }
方式3:Java 8+ Stream API(最简洁)
利用Stream API一行代码完成求和,空数组自动返回0:
import java.util.Arrays; public static int calculateSum(int[] values) { return Arrays.stream(values).sum(); }
验证结果
三种实现均满足测试要求:
- 传入
[1,2,3],计算得1+2+3=6 - 传入
[-7,7,3],计算得-7+7+3=3 - 传入
[],直接返回0
内容的提问来源于stack exchange,提问作者Noah
相关产品推荐
相关产品推荐

