功能:求一个整数各位数之和
输入:一个整数,如999、888、100、等
输出:该整数各位数之和,如999各位之和为27
思路分析:
主要思路:也就是求商和余数的算法,不断整除10求余数。
步骤:
假设输入数字为a=999;
设两个数:m和n,n为该数的个位数,m为该数整除10的商。
首先求个位数的数字:n = a%10=9;
然后把这个数现在变成a=a-n;没有个位数了。
降位:m = a/10;
最后求的各位数之和为sum=0,初始化为0;
sum=sum+n;
然后就是不断用m%10;求出当前最后一位数,并更新m,使得m=m/10;
代码:
/**
* 求一个整数各位数的和
* 输入:0-1000之间的一个整数
* 输出:该整数各位数相加
*/
package lqp;
import java.util.Scanner;
/**
* <p>Title:</p>
* <p>Description:</p>
* @author Li Qingpei
* @data 2018年12月7日
*/
public class code_2_6 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input = new Scanner(System.in);
System.out.println("Enter a number between 0 and 1000: ");
int a = input.nextInt();
int b = code_2_6.numberSum(a);
System.out.print("The sum of the digist is "+b);
}
public static int numberSum(int a){
int n = a%10;
a = a-n;
int m = a/10;
int sum=0;
sum = sum+n;
while(m!=0)
{
sum = sum+m%10;
m=m/10;
}
return sum;
}
}