Java. Повторяющиеся символы в массиве

184
16 мая 2018, 02:30

Задача

Задана строка символов определенной длины. Определить новую сроку, полученную после удлинения исходной на каждый встречаемый по одному разу символ и переворачивания. Пример: 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]);
        }
    }
}
Answer 1

Попробуй так:

    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));
    }
    }
}
READ ALSO
DAO слой, обработка поля List&lt;&gt; обьекта в JDBC

DAO слой, обработка поля List<> обьекта в JDBC

Делаю ДАО слой, есть классы Student, Teacher, Audience, Group и LectureКласс Group содержит лист обьектов Student, а класс Lecture содержит все эти классы, причем группы...

173
Как правильно заполнить массив?

Как правильно заполнить массив?

Кусок методаИнтересует как на каждое int значение Cell написать условие

208
List&lt;NameValuePair&gt; Java

List<NameValuePair> Java

Пишу приложение по примеруВ примере используется список для хранения пар значений:

201
Java gradle java.lang.NoClassDefFoundError

Java gradle java.lang.NoClassDefFoundError

Использую Java + Gradle(встроенный в intellij idea) ('gradle' = 'sh gradlew')

249