【发布时间】:2021-11-10 14:24:32
【问题描述】:
我正在尝试用 java 计算整数的位数,它应该给出 4 但我得到 1 。 我不知道我是否做错了什么,如果有人可以帮忙。 这是代码:
public static void main(String[] args) {
int n = 4781, i = 0;
while (n != 0) {
n %= 10;
n /= 10;
i++;
}
System.out.println(i);
}
【问题讨论】:
-
你觉得
n %= 10在这里做什么? -
在您的 while 循环中添加
System.out.println(n);以找出问题所在。 -
你用 %10 覆盖 n 并将结果除以 10。此外,对 0 的循环检查在这里有点过于乐观。您可以除以 10 并检查
while (n <= 0)。