我试图在逆转之后返回一个数组(或者至少是我认为我做了什么;不是问题)这个函数里面但我得到的错误如下:
此方法必须返回int []
类型的结果
public static int[] arrayLeftRotation(int[] a, int n, int k)
{
int iter = k-1;
int arr[] = new int[n];
for(int i=0; i<n;i++)
{
if(iter >4)
{
iter = 0;
}
arr[i] = a[iter];
iter++;
return arr;
}
}
答案 0 :(得分:1)
好了,因为缺少返回语句。此外,如果在其中放置for
而没有任何特定条件,则可以避免return
循环,因为这将在第一次迭代后返回。因此,将return语句移出for
循环,它应编译为:
public static int[] arrayLeftRotation(int[] a, int n, int k) {
int iter = k-1;
int arr[] = new int[n];
for(int i=0; i<n;i++) {
if(iter > 4) {
iter = 0;
}
arr[i] = a[iter];
iter++;
}
return arr;
}