我有一个练习,其任务是使用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