Я получаю StringIndexOutOfBoundsException.Я пытаюсь взять строку и заменить каждую букву буквой после нее, а затем вернуть новую обработанную строку.Например, «Эй», это «Ифз».
Я пытался изменить индексирование, но ничего не работает.
String change = "";
char[] alpha = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'};
for(int i = 0; i < alpha.length; i++) {
if(str.charAt(i) == alpha[i]) {
change += alpha[i+1] + "";
}
}
return change;
}
public static void main (String[] args) {
// keep this function call here
Scanner s = new Scanner(System.in);
System.out.print(LetterChanges(s.nextLine()));
}
Error Message:
Exception in thread "main" java.lang.StringIndexOutOfBoundsException:
String index out of range: 18
at java.lang.String.charAt(String.java:658)
at Main.LetterChanges(Main.java:11)
at Main.main(Main.java:25)