The index bounds of any string or array structure runs from 0 to length() - 1, such as
input.charAt(0), ....., input.charAt(input.length() - 1) are valid
input.charAt(input.length()) - is not valid
change your for (...) loop condition to
for(int i = 0; i < input.length(); i++){ // NOTE I have changed <= to <
...
}
That should solve your issue.