Java 程序:计算整数中的数字位数

要理解此示例,您应了解以下Java编程主题


示例 1:使用 while 循环计算整数中的数字位数

public class Main {

  public static void main(String[] args) {

    int count = 0, num = 0003452;

    while (num != 0) {
      // num = num/10
      num /= 10;
      ++count;
    }

    System.out.println("Number of digits: " + count);
  }
}

输出

Number of digits: 4

在此程序中,while 循环会一直迭代,直到测试表达式 num != 0 求值为 0(false)为止。

  • 第一次迭代后,num 将被除以 10,其值为 345。然后,count 递增到 1。
  • 第二次迭代后,num 的值为 34,count 递增到 2。
  • 第三次迭代后,num 的值为 3,count 递增到 3。
  • 第四次迭代后,num 的值为 0,count 递增到 4。
  • 然后测试表达式求值为假,循环终止。

注意:该程序会忽略数字前面的任何零。因此,对于 000333 这样的数字,输出将是 3。


示例 2:使用 for 循环计算整数中的数字位数

public class Main {

  public static void main(String[] args) {

    int count = 0, num = 123456;

    for (; num != 0; num /= 10, ++count) {
    }

    System.out.println("Number of digits: " + count);
  }
}

输出

Number of digits: 6

在此程序中,我们使用了一个不带主体的 for 循环,而不是使用 while 循环。

每次迭代时,num 的值都会除以 10,count 会加 1。

num != 0 为 false(即 num = 0)时,for 循环退出。

由于 for 循环没有主体,您可以在 Java 中将其更改为单个语句,如下所示:

for(; num != 0; num/=10, ++count);

另请阅读

在我们结束之前,让我们通过以下挑战来检验您对 Java 程序计算整数中的数字位数的知识!您能解决以下挑战吗?

挑战

编写一个函数来计算数字中的位数。

  • 返回整数 num 的位数计数。
  • 例如,如果 num = 2463,则预期输出是 4
你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战