2017-11-16 7 views
2

Aを小文字にすることからどのように再帰を停止しますか? 予想される出力( 入力d戻り、DはABCDを返す 入力をabcdの)Java再帰aからユーザー定義の入力

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


} 

出力: ABCD

ABCDEFGHIJKLMNOPQRSTU VWXYZ [\]^_ `ABCD

私が良く尋ねるする方法を知ってみましょう質問。

+0

'C> = '' || C> =「z''は冗長です。 – shmosel

答えて

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(); 
    } 
} 
+0

私はなぜ思っていたのですか? –

関連する問題