我如何重写此方法,但作为递归

时间:2015-09-12 22:54:01

标签: java for-loop recursion

编写一个递归方法,该方法执行与所示方法中的循环相同的操作

public class new1 {

    public static void main(String[] args) {
        new1(4);
    }

    public static void new1(int n) {
        if (n <= 0) {
            return;
        } else {
            System.out.print("-");
            --n;
            new1(n);
            System.out.println();
            for (int x = 0; x < n; x++) {
                System.out.print("!!!");
                System.out.print("-"); // space dash space
            }
        }
    }
}

1 个答案:

答案 0 :(得分:0)

这将通过递归方法替换循环。

public static void main(String[] args) {
    new1(4);
}

public static void new1(int n) {
    if (n <= 0) {
        return;
    } else {
        System.out.print("-");
        --n;
        new1(n);
        System.out.println();
        loop(n);
    }

}

static void loop(int n) {
    if (n > 0) {
        System.out.print("!!!-");
        loop(n - 1);
    }
}