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

Java中如何获取数组每个索引对应的值实现累加求和

问题解决指导

现有代码存在的问题

  • 求和方法sumMethod的调用位置错误:当前放在生成随机数的for循环内部,每生成1个元素就调用1次,应该等数组所有元素都赋值完成后,再统一调用1次求和方法
  • sumMethod缺少遍历数组累加的核心逻辑:当前仅打印数组对象的内存地址,没有遍历索引取值累加的操作
  • 冗余创建Random对象:每次循环都创建新的Random实例,没有必要,可在循环外创建1次复用

核心逻辑实现说明

sumMethod求和逻辑

你可以通过循环遍历数组的所有索引,取出对应元素累加得到总和,步骤如下:

  1. 初始化累加变量sum,初始值为0.0
  2. 用for循环遍历数组从0到arrayLength-1的所有索引
  3. 每次循环取出当前索引的元素值,累加到sum中
  4. 遍历结束后打印最终的累加总和

修正后的完整代码

import java.util.Random;
import java.util.Scanner;

public class ArraySumTest {
    public static void sumMethod(double[] arrayOfDoubles){
        int arrayLength = arrayOfDoubles.length;
        double sum = 0.0;
        // 遍历所有索引累加
        for (int i = 0; i < arrayLength; i++) {
            sum += arrayOfDoubles[i];
        }
        System.out.println("数组所有元素的累加总和为:" + sum);
    }

    public static void main(String[] args) {
        //1-3: 初始化Scanner对象接收用户输入的数组长度
        Scanner keyboard = new Scanner(System.in);
        System.out.println("请输入数组元素的数量:");
        //4: 声明对应长度的double类型数组
        int sizeOfArray = keyboard.nextInt();

        // 初始化数组
        double[] arrayOfDoubles;
        arrayOfDoubles = new double[sizeOfArray];
        // 把Random对象移到循环外复用
        Random randomNum = new Random();

        for(int i = 0; i < sizeOfArray; i++){
            //5: 生成0-100区间的随机浮点数存入数组
            arrayOfDoubles[i] = randomNum.nextDouble(0.0 , 100.0);
        }
        //6: 所有元素赋值完成后调用求和方法
        sumMethod(arrayOfDoubles);
        // 关闭输入资源
        keyboard.close();
    }
}

运行说明

运行程序后输入数组长度,程序会自动生成对应数量0-100区间的随机浮点数,最后输出所有元素的累加总和。

内容的提问来源于stack exchange,提问作者Kaji

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 17:54:04