Although Michael has isolated the problem,
showName = users[numOfUsers-1].getName();
this code can throw the ArrayIndexOutOfBoundsException if numOfUsers is zero.
The same thing can happen if numOfUsers is greater than 50.
So I think a better option would be to slightly modify the code so that numOfUsers properly points to the required location.
And also make sure that numOfUsers is always less than the maximum limit, 50 in this case.
Hope this helps
