2012-05-01 45 views
1

假設方法謎已被定義爲如下:簡單While循環示例解釋

public int enigma(int n) 
{ 
    int m; 

    while (n >= 10) { 
     m = 0; 
     while (n > 10) { 
      m += n % 10; 
      n /= 10; 
     } 
     n = m; 
    } 
    return (n); 
} 

什麼是謎(1995)的值? 我知道enigma(1995)的價值是3.什麼是一步一步的?

+1

是這個功課做什麼動作呢?添加作業標籤 – JRaymond

+0

不功課,只是想弄清楚 – JavaStudent12344

+0

你不明白它究竟做什麼? – Poindexter

回答

0

而運行直到n變得外小於10

內環運行,直到n變得小於或等於10,則我們的m值分配給n,因此外環可以評價再次。

在內部循環,會發生什麼? m是由n除以10的餘(所以當5 n==1995)遞增,然後n被設定爲分割的(整數)結果(所以現在n==199)。這是反覆幾次後:

n=1995 => m=5,n=f199 
n=199 => m=5+9=14,n=19 
n=19 => m=14+9=23,n=1 

由於n現在不大於10,內循環結束,n設置爲m(== 23),那麼我們該再這樣做:

n=23 => m=3,n=2 

由於n目前不是大於10,內循環結束和n設置爲m(== 3)。由於現在n小於10,所述外環和存在我們到達結果n(== 3)。

+2

你毀了樂趣 – UmNyobe

+0

^同意了。沒有樂趣了 – SHiRKiT

3

那麼你顯然是對你的方式,但我並不想解決整個事情給你,所以我只給一個微調:

當內循環開始,n = 1995m = 0。正如你已經在循環,n = 199m = 5結束想通了。循環從頭開始再次... n = 199,m = 5 ...等

0

只需使用eclipse(java)安裝,使靜態主要方法,並調用你的功能。

當您使用調試器,你可以一步,看瓦爾