Java程序:计算给定整数的位数


假设给定一个整数作为输入,我们的任务是编写一个Java程序来计算该整数的位数。对于这个问题,创建一个计数器变量并将其初始化为0。将给定的整数值除以10,直到整数变为0,并为每次循环递增计数器变量。

使用while循环

Java中的while循环是一种控制流语句,允许根据给定的布尔条件重复执行代码。对于给定的问题,我们使用此循环来检查指定的整数值是否为0。如果值不为零,我们将给定的整数值除以10并递增计数变量。

当整数变为零时,循环将停止,计数器变量将保存总位数。

示例

下面的Java程序演示了如何使用while循环计算给定整数的位数。

public class CountingDigitsInInteger {
   public static void main(String args[]) {
      // to store the number of digits 
      int count = 0;
      // given integer
      int num = 1254566;
      System.out.println("given number:: " + num);
      // loop to count number of digits
      while(num != 0){
         num = num / 10;
         count++;
      }
      System.out.println("Number of digits in the given integer are:: " + count);
   }
}

以上代码的输出如下:

given number:: 1254566
Number of digits in the given integer are:: 7

使用String.valueOf()方法

Java.lang包的String类中提供了valueOf()方法。它用于返回传递参数的字符串表示形式。参数可以是任何数据类型,例如整数、字符或双精度浮点数。

在这种方法中,我们使用String.valueOf()方法将整数转换为其对应的字符串表示形式,然后找到其长度,这将给出位数。

示例

让我们看看String.valueOf()方法在计算位数中的实际应用。

public class CountingDigitsInInteger {
   public static void main(String args[]) {
      // given integer
      int num = 254668899;
      System.out.println("given number:: " + num);
      int count = String.valueOf(num).length();
      System.out.println("Number of digits in the given integer are:: " + count);
   }
}

以上代码的输出如下:

given number:: 254668899
Number of digits in the given integer are:: 9

使用递归

这是计算给定整数位数的最佳解决方案。在递归方法中,我们创建一个方法,该方法将自身调用,直到给定的整型变量不等于零。在每次调用期间,它将划分整数并递增计数。

示例

在这个Java程序中,我们使用递归的概念来计算给定整数的位数。

public class CountingDigitsInInteger {
   public static int counting(int num) {
      if (num == 0) {
         return 0;
      }
      return 1 + counting(num / 10);
   }
   public static void main(String[] args) {
      // given integer
      int num = 25468877;
      System.out.println("given number:: " + num);
      int count = counting(num);
      System.out.println("Number of digits in the given integer are:: " + count);
   }
}

以上代码的输出如下:

given number:: 25468877
Number of digits in the given integer are:: 8

更新于:2024年9月11日

18K+ 浏览量

开启您的职业生涯

完成课程获得认证

开始学习
广告