//Returns output digit after traveling through rotors, reflector, and backwards through rotors //Also rotates right rotor (others are rotated based on right rotors position) public int InputDigitToOutput(int inputIndex) { int outputDigit = right.InputDigitToOutputForwards(middle.InputDigitToOutputForwards(left.InputDigitToOutputForwards(inputIndex))); outputDigit = reflector.InputDigitToOutput(outputDigit); outputDigit = left.InputDigitToOutputBackwards(middle.InputDigitToOutputBackwards(right.InputDigitToOutputBackwards(outputDigit))); Rotate(right); return(outputDigit); }