Поскольку, как вы отметили, String
является неизменным, вам необходимо выполнить задание. Я бы сделал substring()
, а затем объединил первую букву. Что-то вроде
String s1 = "abcd";
s1 = s1.substring(0, s1.length() - 1) + s1.charAt(0);
System.out.println(s1);
Выхода есть (по запросу)
abca
JLS-4.2.1. Integral Types and Values делает документ, который char
является интегральным типом. Это позволяет сделать что-то вроде
public static String modifyCharInString(String in, int index, int ammount) {
if (in == null || in.isEmpty() || index < 0 || index >= in.length()) {
return in;
}
StringBuilder sb = new StringBuilder(in);
sb.setCharAt(index, (char) (in.charAt(index) + ammount));
return sb.toString();
}
И тогда вызов это как
public static void main(String[] args) {
String s1 = "abcd";
s1 = modifyCharInString(s1, s1.length() - 1, -3);
System.out.println(s1);
}
Выход есть (опять же)
abca
На заднем конце она должна работать как ABCD -> ABCC -> ABCB -> ABCA –
@AbhyudheySharma Что это значит? Вам нужен алгоритм, который может уменьшить произвольный символ в 'String'? Потому что ваш пример, и ваш заголовок, и ваш комментарий очень сбивают с толку. –
Извините за недоразумение Да, мне нужен алгоритм, который может уменьшить произвольный символ в строке. Thanx заранее! –