Java小练习:递归实现整数各位求和
入门练习题
课后习题遇到了求0-1000以内整数各位之和的问题,先是用迭代实现了,然后考虑能否写一个递归,对于任意自然数都适用,对于下列代码,只需修改main方法里面判断条件,即可对更多位的自然数进行操作
之前写代码没有注意格式,最近看了阿里的java开发手册,试着写更加具有可读性的代码
- 在input.nextInt()后,加上input.close(),回收空间
import java.util.Scanner;
public class RecursionSumOfInteger {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Input a natural number between 0-1000");
int number = input.nextInt();
input.close();
if(number <= 1000 && number >= 0){
int result = 0;
result = remainNumber(number);
System.out.println("The sum of " + number + " is " + result);
}
else if(number > 1000){
int resultBeyond = 0;
resultBeyond = remainNumber(number);
System.out.println("Input beyond the yield! and the recommended result is " + resultBeyond);
}
else
System.out.println("Input illegal!");
}
public static int remainNumber(int i){
int sum = 0;
if (i <=9 && i >=0)
return i;
else{
sum = i % 10 + remainNumber((i / 10));
return sum;
}
}
}
这篇博客介绍了如何使用Java递归方法解决整数各位数字求和的问题,适用于任意自然数。作者首先提到这是一个入门级别的练习,然后分享了如何通过迭代法解决,并探讨了如何改写为递归实现,以提高代码的通用性。文章中还提到了遵循阿里巴巴Java开发手册以提升代码可读性,并强调在输入结束后回收资源的重要性。
604

被折叠的 条评论
为什么被折叠?



