System.in.read() reads 1 byte from the standard-input. If you type '1', you get the ascii code of the character '1' which is 49. It is surely not what you want.
If you want to read numerical values,...