如何获得整数的单独数字?

2022-01-14 00:00:00 integer modulo java

我有 1100、1002、1022 等数字.我想要单独的数字,例如对于第一个数字 1100,我想要 1、1、0、0.

I have numbers like 1100, 1002, 1022 etc. I would like to have the individual digits, for example for the first number 1100 I want to have 1, 1, 0, 0.

如何在 Java 中获得它?

How can I get it in Java?

推荐答案

为此,您将使用 % (mod) 运算符.

To do this, you will use the % (mod) operator.

int number; // = some int

while (number > 0) {
    print( number % 10);
    number = number / 10;
}

mod 运算符将为您提供对数字进行 int 除法的余数.

The mod operator will give you the remainder of doing int division on a number.

所以,

10012 % 10 = 2

因为:

10012 / 10 = 1001, remainder 2

注意: 正如 Paul 所说,这会以相反的顺序为您提供数字.您需要将它们压入堆栈并以相反的顺序将它们弹出.

Note: As Paul noted, this will give you the numbers in reverse order. You will need to push them onto a stack and pop them off in reverse order.

按正确顺序打印数字的代码:

Code to print the numbers in the correct order:

int number; // = and int
LinkedList<Integer> stack = new LinkedList<Integer>();
while (number > 0) {
    stack.push( number % 10 );
    number = number / 10;
}

while (!stack.isEmpty()) {
    print(stack.pop());
}

相关文章