The problem is due to y = (char)Console.Read();
Consider using the following to read the first character in the input. It will ensure the entire input is read which will not leave any additional characters or empty spaces in the remaining console text:
y = Console.ReadLine().Trim()[0];