返回值测验的方法

时间:2016-04-15 17:36:50

标签: java method-call

我是编程的新手,我对测验有疑问,输出答案是36.我不明白这个结果是如何产生的。

public class Method {

    public static int method(int number) {

        int result = 0;
        while ( number > 0) {
            result += number % 10;
            number = number / 10;           
        }
        return result;
    }       

    public static void main (String[] args) {
        System.out.println(method(9999));
    }
}

2 个答案:

答案 0 :(得分:1)

显然,在这段代码中,我们需要查看的部分是while循环,这是感兴趣的区域,因为它是所有计算发生的地方。

while(number > 0){
    result += number % 10; 
    number = number/10; 
} 

因此循环中的第一行将为结果添加一个值:

result += number % 10; 

Java中的%运算符和许多其他语言可以被认为是除法的余数,因此我们将除以10的余数加到结果中。

9999/10 = 999余数9.

所以结果增加了9。

然后我们打电话:

number = number / 10; 

在Java中划分int时我们不考虑余数,所以9999/10 = 999.

然后我们再说一遍。所以基本上我们正在加上数字的数字。

9 + 9 + 9 + 9 = 36.

答案 1 :(得分:0)

即使您是编程新手,也可以尝试使用像Eclipse这样的IDE。

使用IDE,您可以使用断点并逐行跟随代码,逐行跟随变量。所以你会明白会发生什么。

您可以创建一个监视表达式,该表达式将在选项卡上显示变量给您或使用inspect来执行此操作。

视频:https://www.youtube.com/watch?v=drk_ldaRMaY