原题目:有int num = 123456,如何在不转字符串并且不使用split()方法的情况下将其拆分为[1,2,3,4,5,6]
解答:
int num = 1233456;
int fac = 10; // 算术因子
ArrayList<Integer> res = new ArrayList<>(); // 结果集
do {
res.add(num % fac);
} while((num /= fac) > 1);
结果res为[6,5,4,3,2,1],因为是从个位开始算的所以存入结果的时候是倒序的,若想按照num原本的顺序则只需要反转res即可
Collection.reverse(res); // 反转res内元素的顺序
反转后res打印结果为[1,2,3,4,5,6]
注意,Collections.reverse()方法并没有返回值,它是直接将传入的集合进行操作