1.问题描述
这个方法实现的功能是把一个数组里的内容拷贝到另一个数组,并且返回这个数组,分两种情况,如果原数组的长度比目标数组的长度长,则拷贝至与目标数组长度一样的原数组处,相反的,就把原数组的内容拷贝到目标数组,其他置为默认值。
2.实现思路:
要实现 该功能就要分成两种情况去解决,注意:这里拷贝的长度只能是短数组的长度,不然会造成溢出。
有两个分支,判断原数组比目标数组长还是短,然后各自的不同情况使用一个循环去实现。
现在就来看如何具体实现。
public static int[] copyOf(int[] original,int newLength){
int [] a=new int[newLength];
if(newLength<=original.length)
{
for(int i=0;i<newLength;i++)
{
a[i]=original[i];
}
}
else
{
int j=0;
for(j=0;j<original.length;j++)
{
a[j]=original[j];
}
while(j<newLength)
{
a[j]=0;
j++;
}
}
return a;
}