我很好奇,如何有效地获取每个整数诠释一个整数的内部,例如:获得一个int每个整数作为一个单独的INT
private int example = 83491;
将返回以下数字
8,3,4,9,1。
当前方法我已经是将它们转换成一个字符串,然后把它们塞进一个字符数组,然后将它们转换回数字每当我想使用它们,这是非常低效的,并且必须有另一种方式。
我在想你怎么可以使用
example % 10
,它会等于1,但我无法真正弄清楚是否有更改“幻数”来获得其他展示位置的方式。
我很好奇,如何有效地获取每个整数诠释一个整数的内部,例如:获得一个int每个整数作为一个单独的INT
private int example = 83491;
将返回以下数字
8,3,4,9,1。
当前方法我已经是将它们转换成一个字符串,然后把它们塞进一个字符数组,然后将它们转换回数字每当我想使用它们,这是非常低效的,并且必须有另一种方式。
我在想你怎么可以使用
example % 10
,它会等于1,但我无法真正弄清楚是否有更改“幻数”来获得其他展示位置的方式。
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]
你是对的。你可以用%做。尝试像
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()+",);
}
另一个解决方案是:
int num=83491;
System.out.println(Arrays.toString(String.valueOf(num).toCharArray()));