This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
First of all, congratulations! You asked the 1st question after the deadline of the mandatory course requirement has elapsed.
So you display the customer id and when you update the value, it shows something unreadible. You use readShort() and writeShort() to handle the customer id? Why did you decide to use these xxxShort-methods? Because a Short has a maximum value of 32767 and your customer id has to be an 8-digit number. I would think that's causing the problem.
The best way to handle this is : consider customer id as String of length 8 (just check if this is not breaking any requirements).
I internally used a record number (for locking/unlocking record) which was an 'int' (meaning my code will not support data file with more than 32767 records, and I did mention this in choices.txt), but my requirement said that owner id must be 8 digit long (but did not explicitly mention any data-type).
Just think about it : why do you want to treat customer id as 'number'? Are you doing any 'numerical' operations on it? I don't think so. All you'll be doing is - add a new record, delete a record and so on.
So, I would strongly recommend to treat customer id as String, and make very sure to add a validation at UI level that user can enter only numerical data there (and that too, max 8 characters long).