Given the code fragment:
public static void main(String[] args) {
int x = 5;
while (isAvailable(x)) {
System.out.print(x);
}
}
public static boolean isAvailable(int x) {
return x-- > 0 ? true : false;
}
Which modification enables the code to print 54321?
A. Replace line 6 with System.out.print(--x);
B. At line 7, insert x--;
C. Replace line 6 with --x; and, at line 7, insert System.out.print(x);
D. Replace line 12 With return (x > 0) ? false : true;
題解
程式第12行,在isAvailable方法內使用了「x--」,並不會影響到main方法的x變數,因為Java永遠為「pass by value」。
選項A,會使輸出變成「43210」。
選項B,可以成功輸出「54321」。
選項C,這樣的邏輯和選項A是一樣的。
選項D,while迴圈將不會執行。