2014-03-04 122 views
0

給出下面的代碼。此代碼由「java test 1 2 3 4」運行。結果是什麼?基礎模擬測試SCJP

public class Test { 

public static void main(String args[]) { 

for (int i = 1; i < args.length; i++) { 

     System.out.print(i + " "); 
     } 
    } 
} 

A)編譯失敗。

B)運行時拋出異常。

C)1 2 3

d)1 2

E)2 3

這是從SCJP和給出的答覆是 「1 2 3」。但它應該是「1 2」,因爲args.length = 3,所以循環將執行2次,輸出爲「1 2」。糾正我,如果我錯了。

我感謝您的幫助。

+1

爲什麼你認爲'args.length'是3?運行程序時通過了多少個參數? –

+0

'java test 1 2 3 4'表示有4個參數。所以'args.length'是4.並且循環運行3次。 –

回答

0

args.length實際上是4.怎麼會是3?

+0

我明白了。謝謝 – user2985842

1

args.length4"1""2""3",並"4"。因爲此循環以1開頭,所以第一個參數1被有效地跳過,並且循環運行3次而不是2次,即最後3個元素每次運行一次。

0

是的參數長度是4.對於數組,索引從0開始。您可能會對此感到困惑。當你計算一個數組長度時,它從1開始不是0.

0

args.length = 4在這種情況下。數組的長度是它內部的元素的數量 - 在這種情況下是4。由於計數器從1開始(並且應該在3停止),因此它將打印1,2,3