课堂检测求一个数的各个位

1.程序设计思想

(1) 创建一个函数,在函数中定义一个数组,用来存放取到的各个数

(2) 输入一个正整数

(3) 若输入的正整数正确,执行循环,在循环里将num%10赋值给a,将a存放在数组中,并使下标加1,sum=sum+a,num=num/10。

(4) 输出sum和依次取到的数

(5) 利用for循环,依次将取到的位倒序输出。

(6) 在主函数中定义一个对象,调用qushu函数

2.程序流程图

3.源程序代码

//信1605-1 20163690 李静
import java.util.Scanner;
public class Number 
{
    int count=0,sum=0,a,num;
    public static void main(String[] args) 
    {
        Number N= new Number();//定义一个对象
        N.qushu();//调用qushu函数
        
    }
    public void qushu()
    {
        int []M=new int[10];//定义一个数组用来存放取到的位数
        Scanner input=new Scanner(System.in);
        System.out.println("输入一个正整数:");//输入number
        num=input.nextInt();
        while(num!=0)//当输入的数不为0时,执行循环
        {
            a=num%10;//a表示num%10取到的值
            M[count]=a;//count用来表示数组的下标
            count=count+1;
            System.out.print(a+" ");
            sum=sum+a;
            num=num/10;
        }
        System.out.print("
");
        System.out.println(count+"位数字");//输出num是几位数字
        System.out.println(sum);
        for(int i=count-1;i>=0;i--)//通过循环依次将取到的位倒序输出
        {
            System.out.print(M[i]+" ");
        }
    }

}

4.结果截图

 5.实验总结

这次作业应该在课堂20分钟内完成,一开始看到程序就开始编程,并没有理清程序思路,在编的过程中无从下手。在以后的编程学习中当不清楚怎么编写时,学会用伪代码处理。做这道题时,对调用方法不太清楚,以及当有多个类时,如何在一个类中引用另一个类,对这种并不太熟悉,导致这道题不会做。题目中并没有规定输入几位数,所以判断当num!=0时才执行循环。

原文地址:https://www.cnblogs.com/lijing925/p/7647982.html