1、问题:
从键盘接收一个数字,写一个方法来求这个数字每一位上的数字之和,采用递归的方法
2、分析:
从键盘接受已经使用了很多次,导入Scanner类的包 java.util.Scanner
如何得到这个数字的每一位,并且是用递归的方法
剥离数位:比如说给一个数字%10得到的就是个位上的数字,给一个数字/10就会得到除个位以外的数字。
3、代码实现
在这里插入代码片package demomethod03;
import java.util.Scanner;
/**
*
* 写一个递归方法,输入一个非负整数,返回组成它的数字之和
* 分析:组成它的每一位 如何得到每一位? num%10
*/
public class AddEveryNum {
public static void main(String[] args) {
System.out.println("请输入你要求的数字:");
Scanner sc=new Scanner(System.in);
int num=sc.nextInt();
int ret=addNum(num);
System.out.println(ret);
}
private static int addNum(int num) {
if(num<10){
return num;
}
return num%10+addNum(num/10);
}
}
4、运行结果