我有一個練習,其任務是使用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);
}
正如你可以看到它是完全錯誤的。
任何幫助將是偉大的。謝謝
@Baadshah:我不明白爲什麼這個問題是必要的。代碼是完全可讀的沒有。 – 2013-05-09 19:43:09
有一件事要改變是你回報。你應該返回更大的'max'&'maxDigit(n/10)' – 2013-05-09 19:43:19
這是一項家庭作業或什麼?我想不出更糟糕的地方去使用遞歸。 – 2013-05-09 19:43:33