为了遵循“Java 的艺术与科学”这本书,我正在做一些练习程序。该程序旨在读取整数n
并返回位数
import acm.program.*;
public class DigitSum extends ConsoleProgram {
public void run() {
println("This program tells you how many digits is in a number");
int n = readInt("Enter the number which you want to check: ");
int dSum =0;
println("The number of digits is: "+myMethod(n,dSum));
}
private int myMethod (int n, int dSum) {
while (n>0) {
dSum += n%10;
n /= 10;
}
return dSum;
}
}
有人可以告诉我为什么我的程序没有按预期运行吗?如果我运行它并将 n
设置为 555,它会显示位数是 15,这显然不正确。
最佳答案
因为您要添加 5+5+5,即 15。
如果您想要位数,那么您将需要使用计数器。
private int myMethod (int n, int dSum) {
int counter = 0;
while (n>0) {
dSum += n%10;
n /= 10;
counter++;
}
return counter;
}
关于java - Java中的DigitSum方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32476682/