2013-07-16 48 views
0

我想寫一個while循環,就像這個問題表明按降序返回7的倍數。起初,我試圖寫一個代碼來返回值,然後我減少,但我的while循環不會執行。我添加了一個打印「開始」的聲明,以確保它正在運行。寫一個while循環找到7的倍數從1到9999

System.out.println("Start"); 
int number = 7; 
int count = 9999;  
while (number <= count); 
{ 
System.out.print(number); 
number = number + 7; 
} 

我寫這樣更簡單,因爲我不確定如何將數字編成一串值並檢查每一個。任何對此的幫助表示讚賞。謝謝!

** RESOLVED。對不起,第一次在網站上,我不知道是否有另一種方式來關閉這個,但是由於多個用戶指出了分號和Vikas指出println錯誤,代碼運行。至於使它減少,我只是交換了一些東西:

System.out.println("Start"); 
int number = 9999; 
int count = 7;  
while (number >= count) 
    {System.out.println(number); 
    number = number - 7; 
    } 


} 
+1

的;在「while」行末尾肯定不屬於那裏。嘗試刪除它。 – ajb

+1

'''''while'循環後'只是**殺死它:-) – sanbhat

+0

btw,這將返回數字遞增順序 – Ingo

回答

0

你是無法看到的產值爲數字,因爲它是println而不是print

System.out.print(number);

更改爲

System.out.println(number);

還有其他人已經回答,刪除分號;在while循環結束時。

話雖如此,既然你想從遞減到下面的代碼升序使用打印的結果,

System.out.println("Start"); 
int number = 7; 
int count = 9996;  
while (number <= count) 
    { 
     System.out.println(count); 
     count = count - number; 
    } 
+0

感謝您對println的澄清。由於其他評論,我刪除了大括號,但是當我將它們放回並添加println時,所有值都出現了。你知道我怎麼能讓他們減少而不是增加? –

+0

@RogerHamblin我編輯了我的答案。希望多數民衆贊成你正在尋找.. –

+0

我修復它使用一種稍微不同的方法。我在信息中更新了它。謝謝! –

9

你在while()之後有一個額外的分號。去掉它。

用分號結尾的這一行,while循環有一個空體。循環完成後,在花括號中的以下語句執行。但循環永遠不會完成,因爲條件總是如此,因爲number永遠不會改變。

while (number <= count); 

將其更改爲:

while (number <= count) 
{ 
    ... 
} 
0

您在while循環的末尾有一個分號:

while (number <= count); 

這將使其成爲一個空循環。而下面的花括號將只作爲一個代碼塊,而不是循環

+0

我改變它:while(number <= count)System.out.print數); number = number + 7;但是所有的輸出顯示都是短暫的「開始」,然後繼續運行並且不終止。 –

+0

@RogerHamblin現在有效嗎? –

+0

如果我保留大括號並添加像Vikas V這樣的println,他們都會打印出來。現在我只是不知道如何讓訂單減少。就像我在我的問題中所說的,我首先編寫了代碼的這一部分,以便將它排除在外,並且我陷入了困境。 –

0
int count = 9999; 
while (count >= 1) { 
    if (count % 7 == 0) { 
     System.out.println(count); 
    } 
    count--; 
} 
+0

這樣做更有意義,並讓您對解決方法有所瞭解。 –