如何向空数组添加1至20的数字并完成求和?技术咨询
解决方案
嘿,我来帮你搞定这个问题!把1到20塞进空数组再求和其实挺简单的,我给你几个主流编程语言的具体实现方案,你可以对应自己在用的语言参考:
JavaScript 实现
你可以通过循环填充数组,再用reduce方法或者传统循环来求和:
// 初始化空数组并填充1至20 const numbers = []; for (let i = 1; i <= 20; i++) { numbers.push(i); } // 方法1:使用reduce函数快速求和 const sum = numbers.reduce((accumulator, current) => accumulator + current, 0); console.log(sum); // 输出结果:210 // 方法2:传统循环累加(更直观) let total = 0; for (const num of numbers) { total += num; } console.log(total); // 输出结果:210
Python 实现
Python的语法更简洁,直接用range生成序列转成列表,再调用内置sum函数即可:
# 创建包含1至20的列表(Python中"数组"通常指列表) numbers = list(range(1, 21)) # 注意range是左闭右开,所以结束值要写21才能包含20 # 直接用内置sum函数求和 total = sum(numbers) print(total) # 输出结果:210
Java 实现
Java里可以用ArrayList来存储数字,然后通过循环或者Stream API求和:
import java.util.ArrayList; import java.util.List; public class NumberSum { public static void main(String[] args) { // 初始化空数组列表 List<Integer> numbers = new ArrayList<>(); // 填充1至20 for (int i = 1; i <= 20; i++) { numbers.add(i); } // 方法1:增强for循环累加 int sum = 0; for (int num : numbers) { sum += num; } System.out.println(sum); // 输出结果:210 // 方法2:Java 8+ Stream API求和(更简洁) int streamSum = numbers.stream().mapToInt(Integer::intValue).sum(); System.out.println(streamSum); // 输出结果:210 } }
常见坑点提醒
- 循环边界要注意:很多语言的范围生成函数(比如Python的
range、JavaScript的Array.from的范围参数)是左闭右开的,所以要把结束值设为21才能包含20; - 求和初始值别错:比如用
reduce时一定要设置初始值0,避免数组为空时出现错误(虽然这里数组肯定有值,但养成好习惯很重要); - 类型要匹配:确保数组里存的都是数字类型,避免求和时出现类型错误。
内容的提问来源于stack exchange,提问作者dr.bill.al
相关产品推荐
相关产品推荐

