我是编程新手。我正在尝试使用递归和if-else语句仅打印99啤酒的歌词。这是我的代码。如何更好地打印歌词。

方法countdown打印歌词,而
countdownB应该将数字从99一直打印到零。

public static void countdown(int n) {
    if (n== 0) {
        System.out.println("no beers");
    } else {
        System.out.println("more beers");
        countdown(n-1);
    }
}

public static void countdownB(int x) {
    if (x==0){
        System.out.print("");
    } else {
        System.out.print(x);
        countdownB(x-1);
    }
}

public static void main(String[] args) {
    countdownB(3);
    countdown(3);
}

最佳答案

您可以将两个countdown方法合并为一个方法。

public static void countdown(int x) {
    if (x == 0) {
        System.out.println("no beers");
    } else {
        // Print the number first and then the lyric
        System.out.println(x + " more beers");
        countdown(x-1);
    }
}


要打印99首歌词时,应调用此选项。

countdown(99);

关于java - 递归和if-else语句,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44227959/

10-11 01:34