我试图编写一个java程序来测试以下代码
12,8,23,6,5,17,20,9
m=2;
n=0;
while m<array length
repeat
ar[m]=ar[n]+ar[n+1];
m++;
n++;
End while
所以这是我的源代码
public class Main {
public static void main(String [] args) {
int []x= {12,8,23,6,5,17,0,9};
int m=2;
int n=0;
while(m<x.length) {
x[m]=x[n]+x[n+1];
m++;
n++;
System.out.println(x);
}
}
}
它产生了类似的输出
[I@3d4eac69
[I@3d4eac69
[I@3d4eac69
[I@3d4eac69
[I@3d4eac69
[I@3d4eac69
这也是我老师的回答
public class Main {
public static void main(String [] args) {
int []x= {12,8,23,6,5,17,0,9};
int []y=algo(x); **//need an explanation**
}
public static int[] algo(int[]ar) { **//need an explanation**
int m=2;
int n=0;
while(m<ar.length) {
ar[m]=ar[n]+ar[n+1];
m++;
n++;
}
return ar;
}
}
然而,教师代码没有生成输出。但是答案应该是这样的 12 8 20 28 48 76 124 200 请解释哪一个是最好的代码,以及它们是如何工作的。我还评论了我的老师代码的一些部分,我无法理解。请解释一下。