Wstawianie elementu w środek Tablicy

0

Mam problem z następującym zadaniem:

Utwórz 20 elementową tablicę zmiennych typu int i wypełnij elementy od
indeksu 0 do 18 losowymi wartościami. Następnie w środek tablicy wstaw element o
wartosci -1 i wyświetl cała tablice.

Udało mi się wyświetlić tablice przed i po wstawieniu, lecz z samym wstawieniem mam problem. W moim kodzie wstawiana liczba zastępuje inną a chodzi o to żeby tablicę rozszerzyć o tą żądaną wartość tzw. "rozstrzelenie tablicy".

public class ppj5
{
	public static void main (String[]args)
	{
              int[] tabT = new int[20];
			
			for(int i=0; i<tabT.length; i++)
				tabT[i] = (int)(Math.random()*100);		
				tabT[19]=-6000;
				
			for(int i=0; i<tabT.length; i++)
				System.out.print(tabT[i] + " ");
			System.out.println();
			
			int[] tmpT = new int[21];
			for(int i=0; i<tabT.length; i++)
				tmpT[i] = tabT[i];
			tabT = tmpT;
			
			for(int i=0; i<tabT.length; i++){
				System.out.print(tabT[i] + " ");
				tmpT[10]=-1;}
			System.out.println();
    }
}

Bardzo proszę o jakieś wskazówki jak rozstrzelić tablicę

2

Jeśli musisz wstawić w miejscu i, to idąc od tyłu kopiuj element 18 na miejsce 19, 17 na miejsce 18 itd.. aż do element i na miejsce i+1. Potem wstaw w miejsce i nowy element.

Edit: czasem lepiej jednak wyjaśnić kodem niż słowami :D

void insertAt(int[] tab, int index) {
    for (int i = 19; i > index; --i)
        tab[i] = tab[i-1];
    tab[index] = -1;
}
1
for(int i=0;i<tabT.length;++i) tmpT[i+(i>=10?1:0)]=tabT[i];
tabT=tmpT;
tabT[10]=-1;
for(int i=0;i<tabT.length;++i)  System.out.print(tabT[i] + " ");

1 użytkowników online, w tym zalogowanych: 0, gości: 1