代码改变世界

求一个数字的每位上的数字并求和

  默默不语  阅读(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与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示