![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| olegrolik |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 309 Регистрация: 25.1.2006 Репутация: нет Всего: нет |
Есть ли в Java метод для строк, который сравнивает две строки и возвращает true в том, случае, если символы в обеих строках одинаковы.
Например: comp("123","312") возвращает true. Если есть у кого алгоритм данного метода, то, пожалуйста, поделитесь. Спасибо. |
|||
|
||||
| Hidrag |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 877 Регистрация: 9.4.2005 Где: JDK Репутация: 3 Всего: 25 |
Все что есть написано в Java Platform API Specification. Погляди.
-------------------- |
|||
|
||||
| nornad |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1079 Регистрация: 16.2.2007 Где: в Караганде Репутация: 16 Всего: 31 |
String.equals(String)
Добавлено через 1 минуту и 48 секунд Вот его реализация:
-------------------- Три достоинства программиста: Леность, Нетерпение и Гордость Ларри Уолл |
|||
|
||||
| Hidrag |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 877 Регистрация: 9.4.2005 Где: JDK Репутация: 3 Всего: 25 |
nornad,
"123".equals("321") будет false -------------------- |
|||
|
||||
| nornad |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1079 Регистрация: 16.2.2007 Где: в Караганде Репутация: 16 Всего: 31 |
Хм... извиняюсь, невнимательно прочёл задачу.
В принципе, можно использовать нечёткое сравнение строк, но оно не даст точный результат. Остаётся один вариант - получение строк символов для каждой исходной строки и сравнение полученного. Это если не надо учитывать количество для каждого символа. Если надо - делать мапу или двойной массив, а потом сравнивать. В общем-то, ничего особо сложного. olegrolik, позвольте узнать, в какой ситуации понадобилась такая функция? Может, проще обойтись проверкой на соответствие регулярному выражению? (например, если это проверка логина/пароля/мыла на валидность) -------------------- Три достоинства программиста: Леность, Нетерпение и Гордость Ларри Уолл |
|||
|
||||
| Maksym |
|
|||
![]() . ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1456 Регистрация: 19.8.2005 Где: Odessa, Black Sea Репутация: 14 Всего: 62 |
В цикле добавить все строки-символы первой строки в HashSet, потом удалить из него все встречающиеся во второй строке. И проверить размер HashSet'а. Повторяются или нет символы в строках при этом безразлично.
Но, вообще nornad прав, задача какая-то больно специфическая.. затрудняюсь придумать зачем это может быть нужно. |
|||
|
||||
| olegrolik |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 309 Регистрация: 25.1.2006 Репутация: нет Всего: нет |
Отвечаю зачем это нужно:
Есть задача - сгенерировать строку из 8 случайных букв английского алфавита. Затем по приложенному словарю(словарь представляет собой строки, в каждой строке слово) определить, можно ли из этих 8ми букв получить три 3ёх буквенных, три 4ёх буквенных и три 5ти буквенных слова. Собсвенно как это определить (по три слова) не знаю как :( Т.к. проблему рано или поздно надо решить, напишу код:
|
|||
|
||||
| math64 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 8 Всего: 72 |
Отсортируй буквы в каждом слове по алфавиту, создай Map отсортированного слова на List из неотсортированных слов
Напиши функцию для срвнения двух отсортированных строк на принадлежность всех букв из первой строки во вторую. |
|||
|
||||
| olegrolik |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 309 Регистрация: 25.1.2006 Репутация: нет Всего: нет |
Ничего не понял. Зачем сравнивать две отсортированные строки? |
|||
|
||||
| Stampede |
|
|||
![]() Гносеолог ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 963 Регистрация: 25.4.2005 Где: Calgary, Alberta, Canada Репутация: 24 Всего: 144 |
olegrolik, алгоритм может быть примерно такой:
Можно записать то же самое чуть покомпактней и пооптимальней, но это не принципиально. Дальше сам смогешь? Добавлено через 5 минут и 31 секунду А, блин, не увидел расширенное описание задачи. Только все равно не понятно: где и кому это все нужно? Лаба что ли такая? -------------------- "If you want something done right, do it yourself" По секрету: выучить английский - реально! |
|||
|
||||
| COVD |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 17 Всего: 43 |
Наверное, автоматизация составления кроссвордов или чего-то подобного. Если в ежедневном издании публикуется такая развлекалка, то кто-то должен это все генерить 365 на год.
|
|||
|
||||
| Maksym |
|
|||
![]() . ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1456 Регистрация: 19.8.2005 Где: Odessa, Black Sea Репутация: 14 Всего: 62 |
||||
|
||||
| olegrolik |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 309 Регистрация: 25.1.2006 Репутация: нет Всего: нет |
Спасибо за советы. Вчера решил подумать сам. Задачу решил.
Ещё раз спасибо! |
|||
|
||||
| math64 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 8 Всего: 72 |
|
|||
|
||||
| nornad |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1079 Регистрация: 16.2.2007 Где: в Караганде Репутация: 16 Всего: 31 |
Было бы неплохо выложить решение и пометить вопрос (тему) как решённый (над первым сообщением темы есть кнопка). -------------------- Три достоинства программиста: Леность, Нетерпение и Гордость Ларри Уолл |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |