简单循环示例说明

时间:2012-05-01 15:37:50

标签: java methods

假设方法enigma定义如下:

public int enigma(int n)
{
    int m;

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

enigma(1995)的价值是什么?           我明白enigma(1995)的价值是3.一步一步是什么?

3 个答案:

答案 0 :(得分:3)

嗯,你显然很顺利,但我不想为你解决所有问题,所以我只是轻轻一点:

内循环开始时,n = 1995m = 0。正如您在循环结束时已经发现的那样n = 199m = 5。循环从顶部再次开始... n = 199m = 5 ...等

答案 1 :(得分:0)

外部运行直到n小于10。

内循环运行直到n小于或等于10,然后我们将m的值赋给n,因此可以再次评估外循环。

内循环会发生什么? m的余数增加n的余数除以10(n==1995时为5),然后将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 :(得分:0)

只需使用eclipse(java)安装,创建一个静态main方法并调用你的函数。

使用调试器时,您可以一步一步地查看变量