如何在 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