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
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP