求一個數字的每位上的數字並求和


1.程序設計思想

     ①   在main函數中先提示用戶輸入一個位數小於10的數字。

     ②   定義長度為10的數組存放所輸入整數的每一位上的數字。

     ③   利用循環判斷數字為幾位數,並同時取到每一位上的數字。可以利用number%10取到最后一位上的數字存放在數組中,利用計數器計算位數,number/10語句可以抹掉最后一位上的數字。

     ④   利用循環倒序輸出為把每一位上數字按從高到低輸出到屏幕。

     ⑤   利用循環計算每一位數字的和,並在屏幕上顯示。

2.程序流程圖

3.程序源代碼

import java.util.Scanner;
public class Calculate {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        System.out.println("請輸入數字(位數小於等於10):");
        Scanner input=new Scanner(System.in);
        int number=input.nextInt();//用戶輸入整數
        int num[]=new int[10];//定義數組來儲存每一位數字
        Fangfa F=new Fangfa();
        F.judge(number, num);//調用方法判斷是幾位數
    }

}



public class Fangfa
{
    public void judge(int number,int num[])//判斷位數並取數
    {
        int count=0;
        int sum=0;
        if(number==0)
        {
            count=1;
        }
        while(number!=0)
        {
            num[count-1]=number%10;//取到每一位的數
            count++;//計算有多少位數字
            number=number/10;
        }
        System.out.print(count+"位數字,分別為:");
        for(int i=count-1;i>=0;i--)
        {
            System.out.print(num[i]+" ");//顯示每一位數字
        }
System.out.print("\n");
for(int i=0;i<num.length;i++)//計算各位數字之和
        {
            sum=sum+num[i];
        }
        System.out.println(count+"位數字之和為:"+sum);//輸出sum
        }
}

4.結果截圖

 

5.實驗總結

   開始時只知道程序的大體步驟,不知道該怎樣判斷輸入的數字是幾位數,只能先把別的步驟寫完整,最后想起學C語言中老師給我們講過判斷數字的方法,就是源代碼中的利用while循環判斷,number%10取到最后一位上的數字存放在數組中,number/10抹掉最后一位的數字,每取到一位數字給計數器加一 ,這樣就可以得到輸入的數字是幾位數字了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM