Попытка использовать строковый буфер для дешифрования основного сдвига Цезаря, 1-й части кода, которая сдвигает знаки
public static String encrypt(String s) {
String ret = ""; //empty string to fill
for (int i = 0; i != s.length(); ++i) {
ret = ret + (char) (s.charAt(i) + 3); //filling the string with characters shifted by 3
}
return ret;
}
2-й части кода, которая должна расшифровывать ret и должна использовать stringbuffer
public static String decrypt(String ret) {
String decy = ""; //new string for output
StringBuffer dec = new StringBuffer();
dec.append(ret); //converting ret into stringbuffer
for (int j=0; j!=dec.length(); ++j) {
decy= (decy + (dec.charAt(j)-3)); //adding the back shifted parts of stringbuffer filled with ret back to decy
}
return decy;}
Ожидаемый вывод - это слово, которое дается из другой части кода, но я получаю 889711810111453, что заставляет меня предположить, что моя проблема лежит где-то в цикле for / преобразовании символов из strinbuffer обратно в строку. Совершенно новичок в кодировании, извините, если проблема тривиальна