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抹掉最后一位的數字,每取到一位數字給計數器加一 ,這樣就可以得到輸入的數字是幾位數字了。