亲宝软件园·资讯

展开

求任意数字各个位数之和

JamPaan 人气:0

求出任意数字的各个位数之和

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;
		}
		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 = 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;
	} 
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

加载全部内容

相关教程
猜你喜欢
用户评论