为什么程序输出错误?

时间:2014-04-13 22:07:10

标签: java while-loop output biginteger

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  

1 个答案:

答案 0 :(得分:3)

没有。为什么j会从2恢复为1?你只是添加它。