每日一题

/*
 * 做几个递归小练习
 * 
 * 1.循环打印0-9
 * 2.不用equals比较一个字符串是否相等
 * 3.利用递归求一个一维数组所有数的和
 */
public class demo8 {
    // 1.循环打印0-9
    public static void fun1(int begin, int end) {
        if (begin > end)
            return;
        System.out.println(begin);
        fun1(begin + 1, end);
    }

    // 2.不用equals比较一个字符串是否相等
    public static boolean fun2(String s1, String s2) {
        if (s1.length() == 0 && s2.length() == 0)
            return true;
        if (s1.length() != s2.length())
            return false;
        if (s1.charAt(0) != s2.charAt(0))
            return false;
        return fun2(s1.substring(1), s2.substring(1));
    }

    // 3.利用递归求一个一维数组所有数的和
    public static int fun3(int a[], int begin) {
        if (begin == a.length)
            return 0;
        int x = fun3(a, begin + 1);
        return x + a[begin];
    }

    public static void main(String[] args) {
        int a[]= {1,2,3,4,5,6,7,8,9};
        fun1(0, 9);
        System.out.println(fun2("abc", "abc"));
        System.out.println(fun3(a, 0));
    }
}

递归递归,越递越归。

原文地址:https://www.cnblogs.com/hardhp74520/p/11753401.html