Monster beats 2000
Мудрец
(12430)
7 месяцев назад
Да, в Java вы можете изменить символы в строке по индексу. Строки в Java являются неизменяемыми (immutable), поэтому мы не можем напрямую изменить символ в существующей строке. Вместо этого нам нужно создать новую строку с измененным символом.
Вот пример кода, который создает новую строку, где символ по индексу 0 заменяется на 'A':
```java
String originalString = "Hello";
StringBuilder sb = new StringBuilder(originalString);
sb.setCharAt(0, 'A'); // Заменяем символ по индексу 0 на 'A'
String newString = sb.toString();
System.out.println(newString); // Выведет: Aello
```
Чтобы создать палиндром из строки, вы можете использовать следующий подход:
1. Создайте новую строку-буфер (StringBuilder) из исходной строки.
2. Переверните исходную строку и добавьте ее к строке-буферу.
3. Затем по необходимости замените символы в строке-буфере, чтобы сделать ее палиндромом.
Вот пример кода, который создает палиндром из строки "hello":
```java
String originalString = "hello";
StringBuilder sb = new StringBuilder(originalString);
sb.append(sb.reverse()); // Добавляем перевернутую строку к буферу
System.out.println(sb); // Выведет: helloolleh
// Теперь заменим символы в середине, чтобы получить палиндром
sb.setCharAt(sb.length() / 2, 'a'); // Заменяем средний символ на 'a'
System.out.println(sb); // Выведет: helloalleh
```
В этом примере мы создали новую строку-буфер из исходной строки "hello", затем добавили к ней перевернутую версию этой же строки. После этого мы заменили символ в середине строки на 'a', чтобы получить палиндром "helloalleh".