gpt4 book ai didi

java - 使用递归查找整数中最大的数字

转载 作者:行者123 更新时间:2023-12-01 06:31:00 25 4
gpt4 key购买 nike

我有一个练习,他的任务是使用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);
}

如您所见,这是完全错误的。

任何帮助都会很棒。谢谢

最佳答案

最简单的基本情况是,如果 n 为 0,则返回 0。

public static int maxDigit(int n){
if(n==0) // Base case: if n==0, return 0
return 0;
return Math.max(n%10, maxDigit(n/10)); // Return max of current digit and
// maxDigit of the rest
}

或者,稍微简洁一些;

public static int maxDigit(int n){
return n==0 ? 0 : Math.max(n%10, maxDigit(n/10));
}

关于java - 使用递归查找整数中最大的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16469774/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com