求一个数字的每位上的数字并求和
2017-10-10 13:52 默默不语 阅读(2252) 评论(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抹掉最后一位的数字,每取到一位数字给计数器加一 ,这样就可以得到输入的数字是几位数字了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!