我很好奇如何有效地为整数内部的每个int获取一个整数,例如:
private int example = 83491;
会返回以下数字
8,3,4,9,1。
我当前的方法是将它们转换为字符串,然后将它们填充到char数组中,然后在我想使用它们时将它们转换回数字,这是非常低效的,并且必须采用另一种方式。
我在考虑如何使用
example % 10
它等于1,但我无法弄清楚是否有办法改变“魔数”以获得其他位置。
答案 0 :(得分:3)
public class Test {
public static void main(String[] args) {
int num = 83491;
if (num < 0)
num = -num;
List<Integer> digits = new LinkedList<Integer>();
while (num > 0) {
digits.add(0, num % 10);
num = num / 10;
}
System.out.println(Arrays.toString(digits.toArray()));
}
}
<强>输出强>
[8, 3, 4, 9, 1]
答案 1 :(得分:1)
int number=83491;
LinkedList<Integer> stack = new LinkedList<Integer>();
while (number > 0) {
stack.push( number % 10 );
number = number / 10;
}
while (!stack.isEmpty()) {
System.out.print(stack.pop()+",);
}
答案 2 :(得分:0)
另一种解决方案是:
int num=83491;
System.out.println(Arrays.toString(String.valueOf(num).toCharArray()));