求一个数字的每位上的数字并求和
2017-10-10 13:52 默默不语 阅读(2215) 评论(0) 编辑 收藏 举报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抹掉最后一位的数字,每取到一位数字给计数器加一 ,这样就可以得到输入的数字是几位数字了。