【问题标题】:How can i disect an integer into individual digits? [duplicate]如何将整数分解为单个数字? [复制]
【发布时间】:2015-12-09 19:21:35
【问题描述】:

我想知道如何从整数中获取每个单独的数字。请参阅我有这个程序,它从输入到程序中的整数中添加每个单独的数字。但是我认为有一种更简单的方法可以做到这一点。

import java.util.Scanner;
public class SumOfDigits
{
    public static void main(String[] args)
    {
        Scanner in = new Scanner(System.in);
        System.out.println("Enter a number greater than 1");
        int n = in.nextInt();
        int divisible = 10;
        int leftovers = 10;
        int sum = 0;
        while(leftovers <= n * 10)
        {
            int digit = 0;   
            if(n % leftovers < 10)
            {
                digit = n % leftovers;
            }
            else
            {
                digit= n % leftovers / divisible;    
            }

            sum = sum + digit;
            System.out.println(sum);
            leftovers *= 10;
            if(leftovers >= 1000)
            {
                divisible *= 10;
            }
        }
        System.out.println("The sum of the digits is " + sum);
    }
}

【问题讨论】:

  • 如果您当前的代码有效,对于我们的姊妹网站Code Review,这可能是一个更好的问题。
  • 您是要拆分一个整数,还是拆分多个整数,它们的工作原理应该相同,但我看不出您在上面做什么。
  • 我刚刚看到“如何获取 int 数的单独数字?”它是一样的。我是 stack over flow 社区的新手,我几乎没有得到这个网站的流量。抱歉,这是重复的,以后不会再发生了。
  • @gonzo 我会看看你的网站。谢谢

标签: java while-loop int digit


【解决方案1】:

您想从数字中提取数字吗?像 478 中的 4、7 和 8?

int value = 478, digit;
while (value != 0) {
    digit = value % 10;
    System.out.println(digit);
    value = value / 10;
}

【讨论】:

  • 是的,这就是我要找的。 Wayyy 比我的扩展版本更简单。谢谢
猜你喜欢
  • 2017-05-23
  • 2013-02-14
  • 2015-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-07
  • 1970-01-01
相关资源
最近更新 更多