2012-11-15 562 views
2

我有一個while循環沒有執行。我不相信有一個無限循環或啓動問題,但在那裏?我找不到我的邏輯錯誤!Java while while循環問題

public class Test 
{ 
    public static void main (String [] args) 
    { 
     int i = 1; 
     int j = 1; 
     while ((i < 10) && (j*j != 25)); 
     { 
      i++; 
      ++j; 
      System.out.println(i * j); 
     } 
    } 
} 

回答

15

while循環

public static void main (String [] args) 
{ 
    int i = 1; 
    int j = 1; 
    while ((i < 10) && (j*j != 25)) //Semicolon removed from here 
    { 
     i++; 
     ++j; 
     System.out.println(i * j); 
    } 
} 

循環聲明被認爲是整個塊之後,如果它不是用大括號括直接涉及任何語句後刪除分號。

if(true) 
    System.out.println("hello"); 
    System.out.println("world"); 

被視爲

if(true) { 
    System.out.println("hello"); 
} 
System.out.println("world"); 

單分號被視爲empty statement並由此製作你的整個循環體。

+0

差不多+1。它需要解釋爲什麼這會解決問題。 –

+0

@TedHopp是我在編輯它 – Esailija

+0

很好的解釋。 +1 –