gpt4 book ai didi

java - 使用递归查找数组最大数量的代码始终返回数组中的最后一项

转载 作者:行者123 更新时间:2023-12-02 02:53:50 24 4
gpt4 key购买 nike

下面的代码将始终写入0。为什么会这样以及如何解决它?

public static void main(String[] args) 
{
int[] Array= {5,4,6,3,7,2,8,1,9,0};
int max=0;
System.out.println(maximum(Array,Array.length-1,max));
}

public static int maximum(int[] Array,int length,int max)
{
if (length!=0)
{
if(max<Array[length])
{
max=Array[length];
}

maximum(Array,length-1,max);
}

return max;
}

最佳答案

当您递归调用maximum时,您不会写入返回值。

    if (length!=0)
{
if(max<Array[length])
{
max=Array[length];
}

max = maximum(Array,length-1,max); //rewrite max variable
}

return max;

编辑

并且需要将第一个 max 值初始化为 Array[0]

int max=Array[0];
System.out.println(maximum(Array,Array.length-1,max));

关于java - 使用递归查找数组最大数量的代码始终返回数组中的最后一项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43397778/

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