1.create方法的问题
for(int i=2;i<size;i+= 2){//当为第4个数8时,已经不满足i<size这个条件了,所以只打印3个数
}
1.1 修改1
int num = 2;
for(int i=0;i<size;i++){
a[i] = num;
num += 2;
}
1.2 修改2
for(int i=2;i<=2*size;i+=2){
a[i/2 -1] = i;
}
2.print方法也要修改
2.1 循环从第一个元素开始打印
for(int i=0;i<a.length;i++){
System.out.print(a[i]+" ");
}
2.2 采用Arrays输出
...print(int[] a){System.out.println(Arrays.toString(a));}
3.grow方法的问题
3.1
...grow(int[] a){
int[] b = new int[a.length+1]
b[0] = 0;//把数组第一个元素赋值为0,这句可以不要,因为新数组,默认值就是0
for(int i=0;i<a.length;i++){
b[i+1] = a[i]
}
return b;
}
3.2 使用system.arraycopy
...grow(int[] a){
int[] b = new int[a.length+1];
System.arraycopy(a,0,b,1,a.length);//省略给b[0] = 0,参照上面的原因
return b;
}
这些东西都很基础,随便手打的,要是看不明白,带带你
for(int i=2;i<size;i+= 2){//当为第4个数8时,已经不满足i<size这个条件了,所以只打印3个数
}
1.1 修改1
int num = 2;
for(int i=0;i<size;i++){
a[i] = num;
num += 2;
}
1.2 修改2
for(int i=2;i<=2*size;i+=2){
a[i/2 -1] = i;
}
2.print方法也要修改
2.1 循环从第一个元素开始打印
for(int i=0;i<a.length;i++){
System.out.print(a[i]+" ");
}
2.2 采用Arrays输出
...print(int[] a){System.out.println(Arrays.toString(a));}
3.grow方法的问题
3.1
...grow(int[] a){
int[] b = new int[a.length+1]
b[0] = 0;//把数组第一个元素赋值为0,这句可以不要,因为新数组,默认值就是0
for(int i=0;i<a.length;i++){
b[i+1] = a[i]
}
return b;
}
3.2 使用system.arraycopy
...grow(int[] a){
int[] b = new int[a.length+1];
System.arraycopy(a,0,b,1,a.length);//省略给b[0] = 0,参照上面的原因
return b;
}
这些东西都很基础,随便手打的,要是看不明白,带带你