You should generate randomNum
for each iteration of the for
loop
Rewriting your loop like this will give you expected result,
int randomNum;
int i;
for(i=0;i<DECK_SIZE;i++)
{
randomNum = randomGen.nextInt(DECK_SIZE);
tempCard = deck[i];
deck[i] = deck[randomNum];
deck[randomNum] = tempCard;
}//end for.