Java求出任意数字的各个位数之和⽅式⽬录
求出任意数字的各个位数之和
求⼀个整数各位数之和
思路分析
代码
求出任意数字的各个位数之和
import java.util.Scanner;
/**
* ⽤JAVA求任意⼀个数的各个位数之和
* @author Administrator
*
*/
public class test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输⼊⼀个数字:");
int num = sc.nextInt();
int sum=0;
while(num!=0){
sum = sum + num%10;
num = num/10;学习java的学习方法
}
System.out.println("所给数字的各个位数之和为:"+sum);
}
}
求⼀个整数各位数之和
功能:求⼀个整数各位数之和
输⼊:⼀个整数,如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 = Int();
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;
}
}
以上为个⼈经验,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。