课堂检测正整数

一、 程序设计思路

提示用户输入整数,定义变量number,输入正整数number,调用函数执行判断是几位数、取每一位数、求和。函数中首先定义几位数变量,和变量,amount=1(最小的正整数只有一位);存放每一位数的数组等,在while循环中不断除以10,amount++,直到除10等于0 结束,amount的值就是位数;在while循环中先将正整数x除10取余,然后除10取整把这个数赋值给x,把这余数存到数组里,并将每一位加起来,循环结束条件是取整之后的数x为0;从倒叙输出数组里面的数,输出和;

二、 程序流程图

   

三、 程序代码

import java.util.Scanner;

public class IntGet {

 

    public static void main(String[] args) {

        System.out.print("请输入整数:");

        Scanner input=new Scanner(System.in );

        int number=input.nextInt();

        num(number);

    }

    static void num(int number)

    {

        int amount=1,sum=0;//amount 记录是几位数,sum为各位之和

        int a[]=new int [10];//数组存放各位的数

        int m=number,x=1,i=10;

        while(x!=0)//判断有几位

        {

            x=m/i;

            if(x!=0)

                amount++;

            i=i*10;

        }

        System.out.print(amount+"位数字分别为:");

        x=number;

        int k=0;

        while(x!=0)

        { 

            m=x%10;//取到每一位数

            x=x/10;

            a[k]=m;//存到数组里

            k++;

            sum=sum+m;

        }

        k=amount-1;

        while(k>=0)//倒叙输出

        {

            System.out.print(a[k]+" ");

            k--;

        }

        System.out.println();

        System.out.println(amount+"位数字之和为:"+sum);

    }

 

}

 

四、 结果截图

五、 实验总结

看完题干直接就开始代码绝对是不正确的,脑子非常乱;必须先在纸上写一下,画一下流程图流程图,然后思路就比较清晰了,其实写代码的时间是很少的,关键是思路。数组倒叙输出时是从k-1开始。

原文地址:https://www.cnblogs.com/wxd136/p/7645229.html