开发者社区 问答 正文

Java整数的每一个数放到数组

给定一个整数 把整数中包含的每一个数字放到一个数组中 不能使用字符串

展开
收起
蛮大人123 2016-02-21 18:37:10 2731 分享 版权
2 条回答
写回答
取消 提交回答
  • 思路:对10取余,并将数整除10,商作为下一次的除数,一直循环(递归)到数值<10为止即可。 可以用递归,也可用循环。 另一个思路就是取巧的方式,将整数转换为String,并直接用charAt()取出来
    2019-07-17 18:46:17
    赞同 展开评论
  • 我说我不帅他们就打我,还说我虚伪

    可以考虑这么做,稍微完善了一下。希望能够帮到你。

    public class TakeOutEachDigitProject {
        public int[] takeOutEachDigit(int t) {
            int[] m = new int[10];//假设整数有这么多位数字
            int i = 0;
            if (t > 0) { // 正整数
                while (t > 0) {
                    m[i] = t % 10;
                    t = t / 10;
                    i++;
                }
    
            } else if (t < 0) { // 负整数
                t = t
                        * (-1);
                while (t > 0) {
                    m[i] = t % 10;
                    t = t / 10;
                    i++;
                }
    
            } else { // 0
                i = 1;
                m[i] = 0;
            }
            int[] n = Arrays.copyOfRange(m, 0, i);// 截断数组
            return n;
    
        }
        public static void main(String[] args) {
    
            Scanner scan = new Scanner(System.in);
            System.out.println("input:");
            int a = scan.nextInt();
            int[] b = new TakeOutEachDigitProject().takeOutEachDigit(a);
            for (int i = b.length - 1; i >= 0; i--) {
                System.out.print(b[i]
                        + ",");
            }
    
        }
    
    }
    2019-07-17 18:46:17
    赞同 展开评论
问答分类:
问答地址: