Задача
Задана строка символов определенной длины. Определить новую сроку, полученную после удлинения исходной на каждый встречаемый по одному разу символ и переворачивания. Пример: a=”abaс” rez = “ccabba”.
Я сделал всё, кроме последнего пункта. Нужно чтобы повторяющиеся символы в строке вывелись один раз, без удвоения. А как это сделать не знаю
import java.util.Scanner;
public class MainFive {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Введите строку:");
String str = sc.nextLine();
int ln = str.length();
char[] chars= str.toCharArray();
for (int i=ln-1; i>=0; i--){
System.out.print(chars[i]+""+chars[i]);
}
}
}
Попробуй так:
import java.util.Scanner;
public class MainFive {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Введите строку:");
String str = sc.nextLine();
int ln = str.length();
char[] chars= str.toCharArray();
ArrayList<Character> characters = new ArrayList<>();
int count = 0;
for (int i = 0; i < ln; i++) {
for (int j = 0; j < ln; j++) {
if (chars[i] == chars[j] && i != j) {
count += 1;
}
}
if (count > 0) {
characters.add(chars[i]);
count = 0;
} else {
characters.add(chars[i]);
characters.add(chars[i]);
}
}
// перевернутый вывод
for (int i = characters.size() - 1; i >= 0; i--) {
System.out.print(characters.get(i));
}
}
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости