2014-04-13 116 views
0
BigInteger p = new BigInteger("1"); 
BigInteger m = new BigInteger("1"); 
BigInteger j = new BigInteger("1"); 
BigInteger n = new BigInteger("3"); 
BigInteger one = new BigInteger("1"); 
while (m.compareTo(n) == -1) { 
    while (j.compareTo(n) == -1) { 
     p = m.multiply(j); 
     System.out.println("m=" + m + " j=" + j + " p=" + p); 
     j = j.add(one); 
    } 
    m = m.add(one); 
} 

爲什麼輸出爲什麼程序給出錯誤的輸出?

m=1 j=1 p=1 
m=1 j=2 p=2 

它不應該是

m=1 j=1 p=1 
m=1 j=2 p=2 
m=2 j=1 p=1 
m=2 j=2 p=2 

+0

你不應該在早上的小時間裏做家庭作業。難怪你犯了愚蠢的錯誤。 –

回答

3

號爲什麼j會從2恢復爲1?你只是添加到它。

+0

哦,我只是忘了把j的值設置爲1,這是我的意圖,並認爲我已經做到了。非常感謝。我需要快速檢測我的問題。 –