在Java中返回int数组的问题

时间:2017-09-18 00:53:05

标签: arrays function return-type

我试图在逆转之后返回一个数组(或者至少是我认为我做了什么;不是问题)这个函数里面但我得到的错误如下:

  

此方法必须返回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;
    }
}

1 个答案:

答案 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;
}