我是java新手。我不懂怎样把两个数字相加。有人能帮帮我吗?
即:
- number = 35 ->numbersum: 3 + 5 = 8
- number = 39 ->Numbersum: 3 + 9 = 12 ->1 + 2 = 3
这个方法的代码是什么?
int numbersum(int i) {
return i == 0 ? 0 : i % 10 + numbersum(i / 10);
}
现在这个函数是递归的;如果你不确定这意味着什么,我强烈建议你学习编程和计算机科学的基础知识,以帮助你自己回答自己的问题。祝你好运。
我编写了一些伪代码来帮助您理解问题背后的算法。现在就看你如何在java中正确地实现它了。
虽然不是最快也不是最短的解决方案,但它以一种非常人类可读的方式将步骤可视化。
function digitSum(number) {
// convert the int to a string, split it into its digits, map each digit back to an integer, sum all digits
sum = number.toString().split("").map(digit -> digit.toInt()).sum()
// if the sum has only one digit, return it
if sum < 10
return sum
// if the sum has multiple digits, call the digitSum function again
return digitSum(sum)
}
digitSum(35) // 8
这是我想到的第一个解决你的问题的方法。正如在对你的问题的评论中所指出的,还有其他方法可以达到预期的结果。
最好看看其他的方法,然后选择你认为最好的。