static void insert(int[] array, int pos, int index) {
int num = array[index];
for (int i = pos + 1; i < index; i++) {
int a = array[i];
array[i] = array[i - 1];
array[i] = a;
}
array[pos] = num;
}
Запустите у себя в отладчике и посмотрите. С каждым новым циклом обнуляются результаты работы предыдущего цикла.
Сдвигайте элементы начиная с index в обратную сторону, а не с pos вперёд, не придётся хранить предыдущее значение.Как уже написали тело не игнорируется, а просто ничего не меняет внутри себя.