I recommend you to use java.utils.Arrays.copyOf(originalArray, newLength). This will return you a copy of this array, but with newLength size.
The line
numbers = new int[x + 1];
is equivalent to
numbers = null;
numbers = new int[x + 1];
that is, number starts to point to a completely new array, created by new int[x + 1]. All new integer arrays automatically initialize all their elements to 0.
Also,
numbers[x]=((x-2)+(x-1));
Is incorrect. x is an index of an element in an array. Hence, (x - 1), for example, is NOT a previous number, but it's index. Use numbers[i] to access a number at the index i.
P.S.: Increasing dynamic array by 1 element at a time is pretty inefficient, because every appending to an array requires duplicating of this array. Instead, I suggest you to double the array when you need extra space.