PAT乙级 1008 java方面的问题


import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int len1 = sc.nextInt();
        int len2 = sc.nextInt();
        int len = len1 + len2;
        int [] vessel = new int[len];
        for (int i = len2;i < len;i++){
            vessel[i] =sc.nextInt();
        }
        for (int i = 0;i < len2;i++){
            vessel[i] = vessel[len - len2 + i];
        }
        for (int i = 0;i < len1;i++){
            if (i ==len1 - 1) System.out.print(vessel[i]);
            else System.out.print(vessel[i] + " ");
        }
    }
}

上述代码块是我对这个问题的思路,总的来说是建立一个更长的数组然后把后面的数依次填到前面。
这一思路肯定不是完全不可行,因为5个测试点对了3个。
但我无论怎么想都不知道为什么测试点1和2有问题。

第17至20行在干啥??在 len2 组里 取出 len1 个 int 出黎?