2014-09-11 36 views
-1

我想弄清楚,爲什麼這段代碼後8號碼模式中斷

 public class numGame 
    { 
     public static void main(String[] args) 

     { 
      int number1 = 3; 
      int number2 = 8; 
      int total = 0; 

      System.out.print(number1 + " "); 
      System.out.print(number2 + " "); 


      while (total <450) 
{ 
       total = number1 + number2; 



      System.out.print(total + " "); 



      number1 = number2; 
      number2 = total; 



      } 

     } 
    } 

的想法是不會顯示任何畫面有3個和8個加起來11,然後19,然後30,然後49直到它達到大於或等於450的數字並結束。

3,8,11,19,30,49 ......

一些錯誤的方式的結構化或其他什麼東西?

[更新]

與Luiggi反饋,代碼運行期待的一個問題。

該輸出是:3,8,11,19,30,49,79,128,207,335,542

該方案應在335切斷,因爲542大於450

if語句是否可以解決這個問題?

回答

0

這甚至不會編譯

一)和沒有定義

b)您打印出總,但這永遠只能被設置爲0

C)既不NUM1或NUM2是遞增所以總和總是將是相同的值(無端while循環)

d)NUM1或NUM2沒有定義

E)爲什麼的變化值number1和number2結尾?

嘗試

while (total < 450) { 
    total = number1 + number2; 
    number1 = number2; 
    number2 = total; 
} 
0

你是不是在任何地方計算總。

總和和總數很混亂。

也num1和number1混淆。

while循環應該有大括號。