Ok, I sum up to give you a more complete answer:
First, when you initialize an array, you assign a defined/finite chunk of memory to it. If you want to change the length of such an array in Java, you need to initialize a new one. There are no retrospective automatic reinitialization of arrays in Java. Other languages might do something something similar for you, but Java doesn't.
Second, you pass the x in your array-initialization by value which means, the functionalities, which create your array, receive the value ones but not the memory address. Methods in Java do it likewise: You pass values as parameters to them but they cannot see the variables directly as long as you don't explicitly reference to them in your local environment of each method. This is why no function, which accepts parameters, is directly influenced by changes of the variables from which values have been passed.
Third, if you try to change the size of an array often, you should consider using ArrayLists which include the functionality which you are looking for.
Forth, if you want to keep using arrays instead of something else and want to keep the array members/values, you still need to pass the old array content to a new initialized array. This can be achieved by looping through the old array.
ArrayListclass.System.out.println((x+=5));, which might cause you troubles in future. Let a "print" line simply print.System.out.println((x+=5));and adda = new int[x];.