Given:



public class Calculator {
public static void main(String[] args) {
int num = 5;
int sum;
do {
sum += num;
} while ((num--) > 1);
System.out.println("The sum is " + sum + ".");
}
}

What is the result?

A.

The sum is 2

B.

The sum is 14

C.

The sum is 15

D. The loop executes infinite times
E. Compilation fails

題解

第4行宣告了一個sum整數變數,但沒有初始化。第7行的「sum += num;」可以拆解成:

sum = sum + num;

由於sum變數並未初始化就要被取值作加法運算,因此會發生編譯錯誤。