Добавление элемента в массив путем сдвига

Вставить в массив число 10 после второго элемента(под вставкой числа n в массив после k-го элемента следует понимать: увеличение размера массива на 1; смещение всех элементов, начиная с (k+1)-го вправо на одну позицию; присваивание (k+1)-му элементу массива значения n).

Смогу сдвинуть элементы массива вправо, но не полностью(36 не показывает, то есть не увеличил длину массива) и добавил после 2-го элемента число 10.

int nums[] = { 14, 28, 60, 74, 98, 36 };
        
        for (int t = 0; t < nums.length; t++)
            System.out.print(nums[t] + " ");
        System.out.println();
        
        for (int j = nums.length - 1; j > 1; j--)
            nums[j] = nums[j - 1];

        nums[2] = 10;
        for (int d = 0; d < nums.length; d++)
            System.out.print(nums[d] + " ");
        System.out.println();

Есть еще одно решение, но там получается полная белиберда, зато увеличил длину массива.

int nums[] = { 14, 28, 60, 74, 98, 36 };
        
        for (int t = 0; t < nums.length; t++)
            System.out.print(nums[t] + " ");
        System.out.println();
        
        for (int i = 0; i < nums.length; i++) {
            if (i < 2) System.out.print(nums[i] + " ");
            else {
                for (int j = nums.length - 1; j > 1; j--)
                    nums[j] = nums[j - 1];
            }
        }
        
        nums[2] = 10;
        for (int d = 1; d < nums.length; d++)
            System.out.print(nums[d] + " ");
        System.out.println(); 

Ответы (1 шт):

Автор решения: MBo
int n = nums.length;
int newnums[] = new int[n + 1];
for (int i = 0; i < k; i++) {
       newnums[i] = nums[i];
}
newnums[k] = 10;
for (int i = k + 1; i <= n; i++) {
       newnums[i] = nums[i - 1];
}
→ Ссылка