Java 我如何重写这个方法,但它是递归的

Java 我如何重写这个方法,但它是递归的,java,for-loop,recursion,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("-"

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

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
            }
        }
    }
}

这将用递归方法替换循环

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);
    }
}

它已经是递归的,不是吗?new1n;是递归的。公平地说,这个问题是完全清楚的。这个标题有误导性。