2013-10-23 42 views
1

我在一個初級班,我的輸出應該看起來像嵌套的循環在Java中給了一個錯誤

25 20 15 
26 21 16 
27 22 17 
28 23 18 

這是我的循環:

for (int i = 25; i <= 28; i++){ 
     for (int a = i; a <= i-10; a -=5);{ 
      System.out.print(a); 
     } 
    System.out.println(""); 
    } 

我想不出它有什麼問題,但它給了我一個錯誤信息。我做對了嗎?嵌套循環是真的很難爲我。

+4

'for(int a = i; a <= i-10; a - = 5); {'這將永遠不會執行。 –

回答

2

在此行中刪除分號:

for (int a = i; a <= i-10; a -=5);{ 

的Java認爲,分號是循環體。然後在下一個塊中的a超出範圍,從而發生錯誤。

此外,該條件在該for循環上看起來錯了。如果您從i開始a,那麼它將開始不小於或等於i - 10。也許你的意思

a >= i - 10 
+0

謝謝 - 我再也沒有錯誤,但我猜測代碼是錯誤的,因爲輸出是完全空白的。我會再試一次... – user2913362

+0

@ user2913362我已經修改了我的答案,我相信是錯誤的'a' for循環的條件。 – rgettman

+0

我明白了,非常感謝。我會接受你的回答。 – user2913362

0

你已經在爲週期

for (int a = i; a <= i-10; a -=5); 

末分號只是將其刪除,並在這裏你去:

for (int a = i; a <= i-10; a -=5) 

此外,它是沒有充分發揮作用,這個代碼做你想要的輸出:

public static void main(String[] args) { 
    for (int i = 25; i <= 28; i++) { 
     for (int j = 0; j < 3; j++) { 
      System.out.print((i - j*5) +" "); 
     } 
     System.out.println(""); 
    } 
} 
0

您需要在第二個迴路中間有a >= i - 10,而不是<=。另外,刪除多餘的分號。