Looks like you're making a list of ints, with an int[] array as the hidden implementation.
It also looks like you modified an addNumber() method, and didn't remove/change enough of the add logic. Why else would you store num into the array you're trying to delete it from?
Deleting a number that is NOT at the end of the list leaves a gap, and you have to either fill that gap by moving other numbers within the array. If the numbers have to stay in order, that means moving all of the numbers with larger index locations down one position. If the numbers don't have to stay in order, then you can simply move the last number on top of the deleted one.
You don't want to check for indexOf(num) == -1. That's true only when the number isn't in the list to begin with (leftover add logic?). Save the value:
int index = indexOf(num);
Then verify that index >= 0 (and < count, if you're paranoid about the validity of indexOf()) before doing any actual deleting.
If it's an unordered collection, then you can use
--count;
numberArray[index] = numberArray[count];
to do the delete. You can skip the assignment if index==count (deleting the last entry) but leaving it in does no harm.
If the remaining numbers need to stay in the order in which they were added, then you need to write a loop to copy the next int at index+1 to index, the int at index+2 to index+1, and so on until the index at count gets copied to count-1. (Assuming you decrement count beforehand.)