javaの - 再帰的に文字列で最大のASCII文字を探します

bughunter:

私は(それがASCII表の後半で来る場合、文字が大きい)ASCIIに応じて文字列内の最大の文字を返すメソッドを記述しようとしています。これは私がこれまで持っているもので、

public char maxChar (String s) {
    char[] characters = s.toCharArray();
    char character = characters[0];
    return maxCharHelper(characters, character, 0);
}

private static char maxCharHelper(char[] characters, char character, int index) {
    if (index >= characters.length - 1) {
        return character;
    }
    if (characters[index] > character) {
        character++;
    }
    return maxCharHelper(characters, character, ++index);
}

1)文字列が場合:私は3つのである問題受信"helloWORLD"に使用され、それは代わりに111(O)2の107(k)を返す)文字列が場合"helloworld"列がときに使用され、それは110を返す(n)の代わりに119(W)最後に、3)"abbxL ? 12 x5y @"でありますこれがなぜ起こるか、それはわから代わりに、121(Y)の101(e)を未返し使用、私のコードであり何も間違っていますか?すべてのヘルプは大歓迎です。

Thiageshマル:

交換するcharacter++;character = characters[index]、それが動作します!

そして、交換するindex >= characters.length - 1index > characters.length - 1、他の最後の文字を確認することが文句を言いません、。

おすすめ

転載: http://10.200.1.11:23101/article/api/json?id=397230&siteId=1