str.charAt(j)
возвращает значение. Например. Символ "а".
Это было бы эквивалентно написанию этого:
"a" = str.charAt(j+1); // Doesn't work
Вместо этого вы хотите назначить заменить символ строки str
.
Вот один из способов сделать это - преобразовать строку в массив символов.
char[] strCharArray= str.toCharArray();
strCharArray[j] = str.charAt(j+1)
В качестве альтернативы вы можете использовать StringBuilder.
StringBuilder str = new StringBuilder();
str.setCharAt(j, str.charAt(j+1));