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+ 瀏覽量

開啟您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.