|
|
|
Подробный разбор строки
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, уважаемые господа программисты! Подскажите, пожалуйста, как можно разобрать строку по следующим условиям: 1) найти самое длинное слово в строке; 2) найти наиболее часто повторяющееся слово; 3) вывести частоту (как часто встречается) каждого слова в строке. Нельзя пользоваться split`ом, trim`ом, списками (хоть я от безысходности и воспользовался, что неправильно), коллекциями, нежелательно создавать дополнительные string`и, а использовать циклы (как можно меньше), массивы (хоть сколь угодно мерные). В общем, я сделал так: Код: 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. так у меня и не получилось поместить разобранные слова напрямую в массив, воспользовался списком, но это неверно. Затем нашел самое длинное слово, но как дальше что-то не получается... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2014, 00:49 |
|
||
|
Подробный разбор строки
|
|||
|---|---|---|---|
|
#18+
beginner123, автор1) найти самое длинное слово в строке; 3) вывести частоту (как часто встречается) каждого слова в строке. сделать Map<String, Integer> String -слово, Integer - сколько раз встретилось делаем буфер StringBuilder... и делаем String maxWord; 1.читаем символ пока не кончится строка 2.если символ (не пробел, не таб, не \n) - буфер.append(символ), goto 1. 3.если буфер не пустой //слово закончилось 3.1 если map.contains(буфер.toString()) - map.set(буфер.toString(), map.get(буфер.toString())+1) 3.2 если нет, то просто map.set(буфер.toString(), 1) 3.3 maxWord=(буфер.toString().lenght > maxWord.lenght)?буфер.toString():maxWord; 3.4 буфер.setLength(0) goto 1 4.goto 1 //ничего не делаем это "пробел после пробела". автор2) найти наиболее часто повторяющееся слово; найти ключ с макс значением ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2014, 01:35 |
|
||
|
Подробный разбор строки
|
|||
|---|---|---|---|
|
#18+
no56892 , благодарю вас за алгоритм, но Map<String, Integer>, к сожалению, не подходит... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2014, 22:57 |
|
||
|
Подробный разбор строки
|
|||
|---|---|---|---|
|
#18+
beginner123, Код: html 1. 2. 3. Это одно слово в разных падежах? Или три слова? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2014, 23:17 |
|
||
|
Подробный разбор строки
|
|||
|---|---|---|---|
|
#18+
maytonЭто одно слово в разных падежах? Или три слова? по задумке - это три разных слова ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2014, 23:19 |
|
||
|
Подробный разбор строки
|
|||
|---|---|---|---|
|
#18+
beginner123maytonЭто одно слово в разных падежах? Или три слова? по задумке - это три разных слова Скушная задумка. Неинтересно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2014, 23:33 |
|
||
|
Подробный разбор строки
|
|||
|---|---|---|---|
|
#18+
maytonСкушная задумка. Неинтересно... значит, для вас это "семечки"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2014, 23:48 |
|
||
|
Подробный разбор строки
|
|||
|---|---|---|---|
|
#18+
beginner123, Ну замените на 2 массива: String[] str и int[] num где num[x] - кол-во повторений str[x] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2014, 01:17 |
|
||
|
Подробный разбор строки
|
|||
|---|---|---|---|
|
#18+
beginner123maytonСкушная задумка. Неинтересно... значит, для вас это "семечки"? Подсчёт слов? Это решённая тыщу раз задача. Ее можно нагуглить в готовом виде. Зачем форум? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2014, 10:11 |
|
||
|
Подробный разбор строки
|
|||
|---|---|---|---|
|
#18+
no56892 , спасибо вам! Попробую именно так и сделать. maytonЗачем форум? действительно, зачем?.. Может, для баянов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2014, 00:30 |
|
||
|
Подробный разбор строки
|
|||
|---|---|---|---|
|
#18+
Развлёкся) TextAnalyze.java Код: 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. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. Analyzer.java Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. FullTextAnalyzer.java Код: 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. 30. 31. 32. 33. 34. 35. 36. 37. LineAnalyzer.java Код: 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. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. Count.java Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Extractor.java Код: java 1. 2. 3. 4. 5. 6. StringExtractor.java Код: 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. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2014, 10:36 |
|
||
|
Подробный разбор строки
|
|||
|---|---|---|---|
|
#18+
Да, Analyzer#put можно убрать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2014, 14:19 |
|
||
|
Подробный разбор строки
|
|||
|---|---|---|---|
|
#18+
avp.mk , автор пишет Нельзя пользоваться split`ом, trim`ом, списками (хоть я от безысходности и воспользовался, что неправильно), коллекциями ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2014, 14:36 |
|
||
|
Подробный разбор строки
|
|||
|---|---|---|---|
|
#18+
beginner123, авторПодскажите, пожалуйста, как можно разобрать строку по следующим условиям: 1) найти самое длинное слово в строке; 2) найти наиболее часто повторяющееся слово; 3) вывести частоту (как часто встречается) каждого слова в строке. Нельзя пользоваться split`ом, trim`ом, списками (хоть я от безысходности и воспользовался, что неправильно), коллекциями, нежелательно создавать дополнительные string`и, а использовать циклы (как можно меньше), массивы (хоть сколь угодно мерные). Это лаба? откуда такие условия??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2014, 14:49 |
|
||
|
Подробный разбор строки
|
|||
|---|---|---|---|
|
#18+
Atum1Это лаба? откуда такие условия??? Да, кэп, это лаба или другое аналогичное задание. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2014, 14:51 |
|
||
|
Подробный разбор строки
|
|||
|---|---|---|---|
|
#18+
Напомнило. В студенчестве мы на сях делали лабу. Так препод заставлял реализовывать весь набор строковых функций типа strlen, strcat, ... e.t.c. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2014, 14:51 |
|
||
|
Подробный разбор строки
|
|||
|---|---|---|---|
|
#18+
mayton avp.mk , автор пишет Читал. =) Потому и есть класс Analyzer, где можно взять и реализовать по-другому функционал, который сейчас реализуется ArrayList'ом и HashMap'ом.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2014, 14:54 |
|
||
|
Подробный разбор строки
|
|||
|---|---|---|---|
|
#18+
avp.mkmayton avp.mk , автор пишет Читал. =) Потому и есть класс Analyzer, где можно взять и реализовать по-другому функционал, который сейчас реализуется ArrayList'ом и HashMap'ом.. Прояви фантазию. Инкапсулировать Лист и Хештейбл может любой. Допустим дисковая операция - дешёвая (SSD накопитель) а оперативка ограничена (устройство в 1Килобайт JVM кода). Можно ли всё таки реализовать задачу beginner-а без коллекций. Думаю можно. Пройдись по файлу много раз... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2014, 15:04 |
|
||
|
Подробный разбор строки
|
|||
|---|---|---|---|
|
#18+
maytonПрояви фантазию. Не не не. Я и так слишком дофига фантазии уже проявил. maytonПройдись по файлу много раз... И разрушить исходный файл\(строку), верно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2014, 19:02 |
|
||
|
Подробный разбор строки
|
|||
|---|---|---|---|
|
#18+
avp.mkразвлекся) Ого! И правда! Спасибо! Очень познавательно! Atum1Это лаба? Это еще не лаба, так, заданьице. maytonТак препод заставлял реализовывать весь набор строковых функций типа strlen, strcat, ... e.t.c. Вот-вот! Аналогичный изврат. Мол, он консерватор, выросший на первых версиях и считает, что с выходом новых версий что-нибудь да поменяется и наш код работать не будет, поэтому только хардкор! Atum1Автору в помощь http://algs4.cs.princeton.edu/code/ Книга и решения задач из нее! Спасибо! Уже "курю" по-тиху. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2014, 00:39 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38670075&tid=2127034]: |
0ms |
get settings: |
7ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
181ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 217ms |
| total: | 497ms |

| 0 / 0 |
