Вся программа работает за исключением первого for, если не проверять каждую итерацию цикла, то программа может принять из консоли от 3 до 5 символов. Вроде как проблема не в версии Java.