0

私は、Javaで再帰を使用して整数の最大の桁を見つけることを仕事にしている練習があります。たとえば、数値 13441 の場合、数字の「4」が返されます。

私は今一日試してみましたが、何もうまくいきませんでした。

私がうまくいくと思ったのは、次のコードです。これは、「基本ケース」を完全に取得できません。

public static int maxDigit(int n) {
    int max;
    if (n/100==0) {
        if (n%10>(n/10)%10) {
            max=n%10;
        }
        else
            max=(n/10)%10;
    }
    else if (n%10>n%100)
        max=n%10;
    else
        max=n%100;
    return maxDigit(n/10);
}

ご覧のとおり、完全に間違っています。

どんな助けでも素晴らしいでしょう。ありがとうございました

4

4 に答える 4

1

コードは必要以上に複雑だと思いますが、詳しくは説明しません。しかし、ケースは実際にはかなり単純であるように思えます (何かが欠けていない限り)。

基本ケース: パラメーターに 1 桁しかない場合、その 1 桁をパラメーターとして返します

一般的なケース: (パラメーターの最初の桁) と (パラメーターの残りの桁の maxDigit) のいずれか大きい方を返します。

于 2013-05-09T19:44:01.380 に答える