递归打印(char)A至(n)

时间:2018-10-11 21:46:55

标签: java recursion

我似乎很亲密,但是我似乎找不到一种打印原始字母的方法。使用我当前的代码,如果我输入“ e”,我想打印出一个b c d e。但是,我的代码仅打印出b c d,而不打印出e。我知道这是因为'c'被减去是因为它可以打印出e,但是我不知道如何在从e到反向打印的同时将其打印出来。

public static void letters(char c)
{
    if (c > 'a')
    {
        letters(--c);
    } else {
        return;
    }
    System.out.print(c + " ");
}

1 个答案:

答案 0 :(得分:4)

您递减c,然后最终打印它,这意味着您将从不打印原始值。将您的代码更改为

public static void letters(char c) {
    if (c > 'a') {
        letters((char)(c - 1)); // do not decrement c
    } // no else block since we dont need it
    System.out.print(c + " ");
}