java递归到用户定义的输入

时间:2017-11-16 03:36:41

标签: java recursion

如何停止从A打印到小写字母的递归?  预期产量(  输入d返回abcd  输入D返回ABCD)

root@54895ad345bb:/# apt-get install -y python
...
root@54895ad345bb:/# /usr/bin/python

Python 2.7.9 (default, Jun 29 2016, 13:08:31)
[GCC 4.9.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.

>>> import fpectl
# no import error!

>>> import sysconfig
>>> print(sysconfig.get_config_var('CONFIG_ARGS'))
'--enable-shared' '--prefix=/usr' '--enable-ipv6' '--enable-unicode=ucs4' '--with-dbmliborder=bdb:gdbm' '--with-system-expat' '--with-system-ffi' '--with-fpectl' 'CC=x86_64-linux-gnu-gcc' 'CFLAGS=-D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security ' 'LDFLAGS=-Wl,-z,relro'

输出: A B C D

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [\] ^ _` a b c d

让我知道如何提出更好的问题。

1 个答案:

答案 0 :(得分:0)

您的条件不正确。

修复如下:

public static void main(String[] args) {
    printLettersForward('D');
    System.out.println();
    printLettersForward('d');
    System.out.println();
}

public static void printLettersForward(char c) {
    if (c >= 'a' && c <= 'z') {
        printLettersForward((char) (c - 1));
        System.out.print(c + " ");
    } else if (c >= 'A' && c <= 'Z') {
        printLettersForward((char) (c - 1));
        System.out.print(c + " ");
    } else {
        System.out.println();
    }
}