Форум программистов, компьютерный форум, киберфорум
Наши страницы
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
nesteroff
0 / 0 / 0
Регистрация: 11.10.2012
Сообщений: 34
1

Удалить из строки все повторения символов

05.03.2014, 20:18. Просмотров 1287. Ответов 7
Метки нет (Все метки)

Удалить из строки все повторения символов. Рабочие строки не использовать.

Входные данные:
a*b*cd -dc&19a –1 sb3> 3-5 z

Выходные данные:
a*bcd -&19s3>5z
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.03.2014, 20:18
Ответы с готовыми решениями:

Из строки удалить все последовательности символов, находящиеся между круглыми скобками
Здравствуйте, нужно написать программу: "Из заданной строки удалить все...

Из файла удалить все слова, содержащие от трех до пяти символов, но из строки максимальное четное количество слов
Из файла удалить все слова, содержащие от трех до пяти символов, но при этом из...

Удалить все слова, содержащие от трех до пяти символов
Из файла удалить все слова, содержащие от трех до пяти символов, но при этом из...

из строки А удалить все символы строки Б
operA=this.FJString.getText();//Строка А operB=this.SJString.getText();...

удалить все строки из коллекции
Есть коллекция, по условию в ней также могут быть значения null ...

7
lemegeton
2935 / 1364 / 467
Регистрация: 29.11.2010
Сообщений: 2,725
05.03.2014, 21:42 2
Кто такие "рабочие строки", которые нельзя использовать?
0
verylazy
Заблокирован
05.03.2014, 23:16 3
challenge accepted!
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public class DelDoubleChars {
 
    public static void main(String[] args) {
 
        char[] arr = "a*b*cd -dc&19a –1 sb3> 3-5 z".toCharArray();
        for (int i = 0; i < arr.length; i++) {
            for (int j = 1; j < i; j++) {
                if (arr[i] == arr[j]) {
                    arr[i] = 0;
                }
            }
        }
        System.out.print(toString(arr));
    }
 
    static String toString(char[] arr) {
        StringBuilder sb = new StringBuilder();
        for (int j = 0; j < arr.length; j++) {
            if (arr[j] > 0) {
                sb.append(arr[j]);
            }
        }
        return sb.toString();
    }
}
напечает
Код
a*bcd -&19a–s3>5z
0
easybudda
Модератор
Эксперт CЭксперт С++
10148 / 6055 / 1522
Регистрация: 25.07.2009
Сообщений: 11,476
08.03.2014, 20:07 4
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package easybudda.removedoublingchars;
 
import java.util.Scanner;
 
public class RemoveDoublingChars {
    static String removeDoublingChars(String s) {
        StringBuilder sb = new StringBuilder();
        
        for ( char c : s.toCharArray() )
            if ( sb.indexOf(String.valueOf(c)) < 0 )
                sb.append(c);
        
        return sb.toString();
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        while ( true ) {
            System.out.print("String: ");           
            String s = scanner.nextLine();
            if ( s.isEmpty() )
                break;
            System.out.println("Result: " + removeDoublingChars(s));
        }
        
        scanner.close();
    }
}
0
Петррр
6163 / 3464 / 897
Регистрация: 28.10.2010
Сообщений: 5,928
08.03.2014, 21:11 5
В Java множества использовать не модно?
0
verylazy
Заблокирован
08.03.2014, 21:22 6
я вообще сделал бы это регуляркой, но подозреваю это студент и надо шобы циклами
0
Петррр
6163 / 3464 / 897
Регистрация: 28.10.2010
Сообщений: 5,928
08.03.2014, 22:43 7
Думал, что можно сделать красиво, не вышло, выложу как вариант:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import java.util.*;
import java.lang.*;
import java.io.*;
 
class Ideone
{
    public static void main (String[] args) throws java.lang.Exception
    {
        String s = "a*b*cd -dc&19a –1 sb3> 3-5 z";
        Set<Character> set = new HashSet<Character>();
        StringBuilder sb = new StringBuilder();
        for (Character ch : s.toCharArray())
        {
            if (set.add(ch))
            {
                sb.append(ch);
            }
        }
        System.out.println(sb.toString());
    }
}
0
turbanoff
Эксперт Java
4019 / 3754 / 742
Регистрация: 18.05.2010
Сообщений: 9,329
Записей в блоге: 11
Завершенные тесты: 1
11.03.2014, 11:05 8
Можно так:
Java
1
2
3
4
5
6
7
8
9
10
    public static void main(String[] args) throws Exception {
        String s = "a*b*cd -dc&19a –1 sb3> 3-5 z";
        Set<Character> set = new LinkedHashSet<>();
        for (Character ch : s.toCharArray()) {
            set.add(ch);
        }
        for (Character character : set) {
            System.out.print(character);
        }
}
0
11.03.2014, 11:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.03.2014, 11:05

Удалить из данной последовательности символов все группы букв вида abсd и удвоить остальные символы
Дано n символов. Удалить из данной последовательности все группы букв вида ...

Как удалить все спецсимволы из строки?
Например, есть строка &quot;\n\t\rText\t\n&quot;. Как удалить все спецсимволы и...

Удалить из строки все одиночные нули
Подскажите пожалуйста. Как удалить из строки все одиночные нули? Есть ли...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru