如何在 Java 中獲取整型數的各位數字

Rupam Yadav 2023年1月30日 2020年9月26日
  1. %(mod)獲取給定整數的餘數
  2. String.toCharArray() 獲取字元陣列
  3. number.split("(?<=.)") 獲取字串陣列並將其拆分的方法
  4. 使用遞迴法從整型數中分離數字
如何在 Java 中獲取整型數的各位數字

Java 提供了很多處理整數的方法。我們將學習如何從一個整數中提取和分離每一位數字。

%(mod)獲取給定整數的餘數

我們可以通過使用餘數方法獲得整數的每一個數字。Java 允許我們使用%(mod)運算子獲得任何整數的餘數。

但是,僅僅得到餘數會讓我們得到的結果順序相反。這就是為什麼我們將使用一個 LinkedList 棧。在這個堆疊中,我們將推送每一個餘數,然後逐一彈出,為我們提供所需的結果。

import java.util.LinkedList;

public class Main {

    public static void main(String[] args){
        int number = 12223;

        LinkedList<Integer> stack = new LinkedList<Integer>();
        while(number > 0){
            stack.push(number % 10);
            number = number / 10;
        }
        while ((!stack.isEmpty())){
            System.out.println(stack.pop());
        }
    }
}

輸出:

1
2
2
2
3

String.toCharArray() 獲取字元陣列

另一種將數字從一個整數中分離出來的方法是使用 toCharArray() 方法。

我們將整數轉換成一個字串,然後使用字串的 toCharArray() 得到字元陣列。現在我們可以把所有的字元一個一個的列印出來。稍後我們可以將這些字元轉換回整數格式。


public class Main {

    public static void main(String[] args){

        int number1 = 12223;
      
        String number = String.valueOf(number1);

        char[] digits1 = number.toCharArray();

        for(int i = 0; i < digits1.length; i++) {
            System.out.println(digits1[i]);
        }
    

    }
}

輸出:

1
2
2
2
3

number.split("(?<=.)") 獲取字串陣列並將其拆分的方法

這個方法和上面的方法類似,但這裡我們使用的是 split,是 String 類的一個函式。

public class Main {

    public static void main(String[] args){

        int number1 = 12223;

        String number = String.valueOf(number1);

        String[] digits = number.split("(?<=.)");

        for(int i = 0; i < digits.length; i++) {
            System.out.println(digits[i]);
        }
    }

}

輸出:

1
2
2
2
3

使用遞迴法從整型數中分離數字

我們可以使用遞迴技術以更直接的方式從一個 int 中得到數字。

recursion() 方法將數字作為引數,然後用 10 除以這個數字來呼叫自己。這是該方法被呼叫的次數。

public class Main {

    public static void main(String[] args) {
        recursion(12223);
    }

    public static void recursion(int number) {
        if(number > 0) {
            recursion(number/10);
            System.out.printf(number%10);
        }
    }

}

輸出:

1
2
2
2
3
Author: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

相關文章 - Java Int