这是我的作业:
编写一个执行以下操作的程序:它返回一个长度为n的整数数组arr2,其前k个元素与arr的前k个元素相同,其余元素由前k个元素的重复块组成。您可以假设数组arr至少有k个元素。如果k或n不为正,则该函数应返回null。
示例:
fill({1,2,3,5, 9, 12,2, 1}, 3, 10) returns {1,2,3,1,2,3,1,2,3,1}. fill({4, 2, 3, 12}, 1, 5) returns {4, 4, 4, 4, 4}. fill({2, 6, 9, 0, 3}, 0, 4) returns null.
这是我的代码:
public static void main (String[] args){
int [] result = fill(new int[]{1, 2, 3, 5, 9, 12, 2, 1}, 3, 10);
System.out.println(result);
}
public static int[] fill(int[] arr, int k, int n){
int[] arr2 = new int[n];
int cnt = 0;
if (k > 0 && n > 0)
{
while (cnt != n)
{
for (int j = 0; j < k; j++)
{
if (cnt != n)
{
arr2[cnt] = arr[j];
cnt++;
}
else
break;
}
}
}
else
return null;
return arr2;
}