如何停止从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
让我知道如何提出更好的问题。
答案 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();
}
}