2014-03-03 60 views
0

下面是一些基本的代碼:Java循環不能重複下來字符串長度

public static void main(String[] args) { 
String string = "Hello!"; 
System.out.println("First loop."); 
for (int i = 0; i < string.length(); i++) { 
    System.out.println("g"); 
} 
System.out.println("Second loop."); 
for (int i = (string.length() - 1); i <= 0; i--) { 
    System.out.println("g"); 
} 
} 

出於某種原因,該程序將無法通過第二循環走的。這有點奇怪。你能解釋這一點,以及如何解決它?

+2

看着你的循環條件。 –

+0

'i <= 0' ....... –

+0

'(string.length() - 1)的值是多少?在開始第一次迭代之前,「i <= 0」是否被評估爲真? –

回答

3

你的第二個循環應該向後循環,而索引仍然大於或等於零,不能小於或等於零。在第一次評估中,<= 0,i大於零,並且循環從不運行。

嘗試:

for (int i = (string.length() - 1); i >= 0; i--) { 
3

更改爲條件下,i是初始值爲大於0(長度-1)和存在條件I < = 0,這是真實的情況下,長度等於1 。但字符串的長度是6,從而改變它的條件如下:

for (int i = (string.length() - 1); i >= 0; i--) { 
    System.out.println("g"); 
} 
0

您的問題是在第二個for循環

的條件

從未發生過。我不明白你爲什麼要檢查。