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

如何向空数组添加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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 10:04:43