ah the problem here is that the inputs are for humans, but the 'backend' is an array which should be for computers.
so what this means is that the user interface class should be responsible for taking in the human input, and then doing a minus one so that the navigator class does the right thing.  try that and let me know how it goes