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

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (10)

我有1100,1002,1022等数字。我想要个人数字,例如,对于第一个数字1100,我希望有1,1,0,0。

我怎样才能在Java中得到它呢?

提问于
用户回答回答于

转换成String和使用String#toCharArray()String#split()

String number = String.valueOf(someInt);

char[] digits1 = number.toCharArray();
// or:
String[] digits2 = number.split("(?<=.)");

如果你已经在Java 8上了,而碰巧想在Java 8上做一些聚合操作,那么请考虑使用String#chars()得到一个IntStream从里面出来。

IntStream chars = number.chars();
用户回答回答于

要做到这一点,你将使用%运算符。

int number; // = some int

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

mod操作符将给出对一个数字进行int除法的剩余部分。

所以,

10012 % 10 = 2

因为:

10012 / 10 = 1001, remainder 2

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

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());
}

扫码关注云+社区