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