欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

1、输出一个非负整数的逆序数 2、输出一个非负整数的逆序数字符串(使用递归和非递归两种方式实现)

程序员文章站 2022-03-22 08:10:10
...

非递归方式:

public class Test {
    public static void main(String[] args) {
        int num = 12304;
        int result = 0;
        while (num != 0) {
            int x = num % 10;
            result = result * 10 + x;
            num /= 10;
        }
        System.out.println(result);
    }
}

递归方式:

public class Test01 {
    public static void main(String[] args) {
        int num = 12304;
        int result = 0;
        System.out.println(put(result,num));
    }
    public static int put(int result,int num){
        int x = num % 10;
        result = result * 10 + x;
        num /= 10;
        if (num==0){
            return result;
        }
        return put(result,num);
    }
}

如果让你输出一个非负整数的逆序数字符串,你可以在生成逆序数之后在+""就可以了,或者直接从生成逆序数字符串的角度出发也可以,下面就是直接从生成逆序数字符串的角度出发的,使用两种方式展示:

非递归方式:

public class Test {
    public static void main(String[] args) {
        int num = 12304;
        String result = "";
        while (num!=0){
            int x = num % 10;
            result = result + x;
            num /= 10;
        }
        System.out.println(result);
    }
}

递归方式:

public class Test {
    public static void main(String[] args) {
        int num = 12304;
        String result = "";
        System.out.println(put(result,num));
    }
    public static String put(String result,int num){
        int x = num % 10;
        result = result + x;
        num /= 10;
        if (num==0){
            return result;
        }
        return put(result,num);
    }
}