【问题标题】:Find the sum of the digits of the number entered?找出输入数字的位数之和?
【发布时间】:2015-10-28 22:38:19
【问题描述】:

我想找出在 JAVA 中输入的数字的位数之和。我想编码这个算法。

Please enter a number= 4562

sum= 4+5+6+2

我想把最后一个数字的总和相除

sum=17/2

但我没能把这些数字分开。如果你知道,可以告诉我吗?

【问题讨论】:

  • 你尝试了什么?你写过代码吗?
  • 您在发帖前是否尝试过在这里简单搜索java sum digits of number?我在结果顶部看到大约三打已回答的问题,它们完全回答了这个问题。这是我发现的大约四个帖子:stackoverflow.com/questions/27096670/…总是在发布新问题之前先在这里搜索;以前在这里被问过和回答过的机会非常好(尤其是对于初学者的问题)。
  • 在我的程序中,输入的数字是不确定的。用户应输入一个数字。

标签: java sum digits


【解决方案1】:

您希望编码的数字范围是多少? 您可以确定要编码的号码中的位数,例如“n”;在您的示例中,“n”为 4。

int x = 4562;
int sum = 0;
sum += (x/1000); x %= 1000;
sum += (x/100); x %= 100;
sum += (x/10); x %= 10;
sum += (x/1);
int result = 0;
if (x != 0)
   result = sum / x;

这个算法可以用前面提到的'n'来编码... 请注意,如果最后一位数字是 0,您的算法没有多大意义!

【讨论】:

  • 谢谢,但我的程序中输入的数字不明确。用户将输入一个数字,我将进行交易。例如;用户给了 1478。我的程序 (1+4+7+8) = 20 除以最后一个数字 20/8
【解决方案2】:
int number = originalNumber;
int sum = 0;
while (number > 0) {
    sum += number % 10;
    number /= 10;
}
int result = sum / (originalNumber % 10);

看起来你并没有想太多......

【讨论】:

  • 你应该在给出解决方案之前询问她的进度。
  • 谢谢,但我的程序中输入的数字不明确。用户将输入一个数字,我将进行交易。例如;用户给了 1478. 我的程序 (1+4+7+8) = 20 除以最后一个数字 20/8
猜你喜欢
  • 1970-01-01
  • 2017-08-07
  • 2014-12-08
  • 1970-01-01
  • 2015-05-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多