【问题标题】:Getting each integer in an int as a seperate int将 int 中的每个整数作为单独的 int 获取
【发布时间】:2023-04-03 18:44:01
【问题描述】:

我很好奇如何有效地为整数中的每个 int 获取一个整数,例如:

private int example = 83491;

将返回以下数字

8、3、4、9、1。

我目前的方法是将它们转换为字符串,然后将它们填充到 char 数组中,然后在我想使用它们时将它们转换回数字,这非常低效,必须有另一种方法。

我在考虑如何使用

example % 10

它等于 1,但我真的不知道是否有办法改变那个“幻数”来获得其他展示位置。

【问题讨论】:

    标签: java integer


    【解决方案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]
    

    【讨论】:

      【解决方案2】:

      你是对的。你可以用 %.试试看

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

      【讨论】:

        【解决方案3】:

        另一种解决方案是:

        int num=83491;
        System.out.println(Arrays.toString(String.valueOf(num).toCharArray()));
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-07-08
          • 2018-12-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多