我对递归的想法很陌生,这实际上是我第一次尝试编写递归方法。
我试图实现一个递归函数 Max,它传递一个数组,以及一个保存数组大小的变量,以便打印最大的元素。
它有效,但感觉不对!
我还注意到,我似乎比一般同学更多地使用静态修饰符......
任何人都可以提供任何一般提示以及有关如何改进代码的反馈吗?
public class RecursiveTry{
static int[] n = new int[] {1,2,4,3,3,32,100};
static int current = 0;
static int maxValue = 0;
static int SIZE = n.length;
public static void main(String[] args){
System.out.println(Max(n, SIZE));
}
public static int Max(int[] n, int SIZE) {
if(current <= SIZE - 1){
if (maxValue <= n[current]) {
maxValue = n[current];
current++;
Max(n, SIZE);
}
else {
current++;
Max(n, SIZE);
}
}
return maxValue;
}
}