我是编程的新手,我对测验有疑问,输出答案是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));
}
}
答案 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来执行此操作。