Java程序计算列表的运行总和


列表的运行总和(也称为累积总和)表示一系列元素的和。当新的元素添加到序列中时,运行总和会持续更新。要在Java中执行此操作,我们可以在程序中使用for循环和while循环。

该程序的时间复杂度为O(n),其中n是列表中的元素个数,因为它遍历列表一次,并对列表中的每个元素执行一个常数时间操作。

List是Java集合框架的一个接口,用于存储对象的集合。

示例场景

Input: list = 5, 10, 15, 20;
Output: 50 

列表的运行总和计算如下:

first iteration: 5 + 10 = 15
second iteration: 15 + 15 = 30
third iteration: 30 + 20 = 50  

计算列表运行总和的方法

我们可以用两种方法编写Java程序来计算列表的运行总和:

  • 使用for循环
  • 使用while循环

使用for循环

Java中的for循环用于迭代元素或创建需要执行特定次数的循环。我们可以使用此循环来计算给定列表的运行总和。

示例

这是一个使用for循环计算列表运行总和的Java程序示例。

import java.util.ArrayList;
import java.util.List;

public class RunningTotal {

   public static void main(String[] args) {
      // create a list of integers
      List<Integer> numbers = new ArrayList<>(); 
        
      // add some numbers to the list
      numbers.add(5);
      numbers.add(10);
      numbers.add(15);
      numbers.add(20);

      // initialize running total variable to 0
	  int runningTotal = 0; 
        
      // loop through the list and compute the running total
      for (int number : numbers) {
         runningTotal += number;
         System.out.println("Running Total: " + runningTotal);
      }
   }
}

运行以上代码,将显示以下结果:

Running Total: 5
Running Total: 15
Running Total: 30
Running Total: 50

使用while循环

一个while循环语句重复执行代码块,只要给定的条件为真。这里,在执行循环体之前检查条件。

示例

此示例使用while循环迭代列表并计算运行总和,这与第一个示例程序中使用的for循环略有不同。但是,基本方法相同:我们将运行总和变量初始化为0,遍历列表,将每个元素添加到运行总和中,并在每一步打印出运行总和的当前值。

import java.util.ArrayList;
import java.util.List;

public class RunningTotal {

   public static void main(String[] args) {

      List<Integer> numbers = new ArrayList<>(); // create a list of integers
        
      // add some numbers to the list
      numbers.add(2);
      numbers.add(4);
      numbers.add(6);
      numbers.add(8);
      numbers.add(10);

      // initialize running total variable to 0
	  int runningTotal = 0; 
      // initialize index variable to 0
	  int i = 0; 
        
      // loop through the list using a while loop
      while (i < numbers.size()) {
         // add the current number to the running total
		 runningTotal += numbers.get(i); 
         System.out.println("Running Total: " + runningTotal);
         // increment the index variable
		 i++; 
      }
   }
}

执行此代码后,会产生以下结果:

Running Total: 2
Running Total: 6
Running Total: 12
Running Total: 20
Running Total: 30

更新于:2024年7月30日

769 次浏览

启动您的职业生涯

完成课程后获得认证

开始学习
广告