Java语言基础1--专题课 拆数

- 拆数:给定一个正整数,获取其各个位置上的数字 (例如:给定一个数字1234,分别获取得到4、3、2、1)

/*
*   1、需求:拆数:给定一个正整数,获取其个位置上的数字
*       例如:给定一个数字1234,分别获取得到4、3、2、1
*
*   2、分析:分析问题,得知需要使用'%'获取个位数字,
*       使用'/'将问题阈缩小,直至一位0
*
*   3、实现:首先实现例子中的问题,使用简单的顺序结构
*       再将问题推向一般化,重构代码,实现代码的可重用性
*   
*   4、编码
*/   

public class Demo
{
    public static void main(String[] args)
    {
        int num = 1234;

    /*
        // 1、获取给定值的副本,避免改变原始值
        int numCopy = num;

        // 2、获取个位数字  ge
        int ge = numCopy % 10;

        // 3、打印个位数字
        System.out.println(ge);

        // 4、缩小问题阈
        numCopy /= 10;      // numCopy = 123

        // 重复上述步骤,分别获取 十位数字 shi、百位数字 bai、千位数字 qian

        int shi = numCopy % 10;
        System.out.println(shi);
        numCopy /= 10;

        int bai = numCopy % 10;
        System.out.println(bai);
        numCopy /= 10;

        int qian = numCopy % 10;
        System.out.println(qian);
        numCopy /= 10;
    */

    /* 根据上述简单实现的代码,总结规律,发现其中主要的核心代码是重复

               主要是以下是三步:
        1、取余获取指定位上的数字
        2、打印该位置上面的
        3、缩小问题阈

        问题的终止条件是 numCopy 为0

        可以使用while循环改进代码
        while(num!=0)
        {
            int wei = num % 10;
            System.out.println(wei);
            num /= 10;
        }

        同时可以将这个完成拆数功能的代码,封装成函数 void chaiShu(int num)
    */


        // 调用函数chaiShu,实现需求
        chaiShu(num);
    }

    // chaiShu函数功能:输入参数num,获取各个位置上的数字
    public static void chaiShu(int num)
    {
        while(num!=0)
        {
            int wei = num % 10;
            System.out.println(wei);
            num /= 10;
        }
    }
}

你可能感兴趣的:(自学Java)