【发布时间】:2015-08-17 18:36:14
【问题描述】:
给定 2 个 int 数组,每个长度为 2,返回一个包含所有元素的长度为 4 的新数组。 例如:
plusTwo({1, 2}, {3, 4}) → {1, 2, 3, 4}
这是一个示例问题,但我想做一些额外的练习。如果问题没有指定两个数组的长度。然后我把代码写成:
public int[] plusTwo(int[] a, int[] b) {
int[] c=new int[a.length+b.length];
for(int i=0;i<a.length;i++){
c[i]=a[i];
for(int j=a.length;j<a.length+b.length;j++){
for(int m=0;m<b.length;m++){
c[j]=b[m];
}
}
}
return c;
}
我的回报是 {1,2,4,4} 我不能指出我的错误。:(
【问题讨论】:
-
你试过调试你的代码吗?
-
导致此行为的错误是将三个 for 循环装箱成另一个。我不会解释为什么给定代码会导致这种行为,只是调试它。