Java求出任意數(shù)字的各個位數(shù)之和方式
求出任意數(shù)字的各個位數(shù)之和
import java.util.Scanner;
/**
* 用JAVA求任意一個數(shù)的各個位數(shù)之和
* @author Administrator
*
*/
public class test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("請輸入一個數(shù)字:");
int num = sc.nextInt();
int sum=0;
while(num!=0){
sum = sum + num%10;
num = num/10;
}
System.out.println("所給數(shù)字的各個位數(shù)之和為:"+sum);
}
}求一個整數(shù)各位數(shù)之和
功能:求一個整數(shù)各位數(shù)之和
輸入:一個整數(shù),如999、888、100、等
輸出:該整數(shù)各位數(shù)之和,如999各位之和為27
思路分析
主要思路:也就是求商和余數(shù)的算法,不斷整除10求余數(shù)。
步驟:
假設(shè)輸入數(shù)字為a=999;
設(shè)兩個數(shù):m和n,n為該數(shù)的個位數(shù),m為該數(shù)整除10的商。
首先求個位數(shù)的數(shù)字:n = a%10=9;
然后把這個數(shù)現(xiàn)在變成a=a-n;沒有個位數(shù)了。
降位:m = a/10;
最后求的各位數(shù)之和為sum=0,初始化為0;
sum=sum+n;
然后就是不斷用m%10;求出當(dāng)前最后一位數(shù),并更新m,使得m=m/10;
代碼
/**
* 求一個整數(shù)各位數(shù)的和
* 輸入:0-1000之間的一個整數(shù)
* 輸出:該整數(shù)各位數(shù)相加
*/
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;
}
}以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java如何找出數(shù)組中重復(fù)的數(shù)字
這篇文章主要為大家詳細(xì)介紹了Java如何找出數(shù)組中重復(fù)的數(shù)字,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-08-08
Java(springboot) 讀取txt文本內(nèi)容代碼實例
這篇文章主要介紹了Java(springboot) 讀取txt文本內(nèi)容代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-02-02

