Java求出任意数字的各个位数之和方式
短信预约 -IT技能 免费直播动态提醒
求出任意数字的各个位数之和
import java.util.Scanner;
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;
}
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;
代码
package lqp;
import java.util.Scanner;
public class code_2_6 {
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;
}
}
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341