xnordman | Дата: Пятница, 21.03.2014, 01:15 | Сообщение # 1 |
Сержант
Группа: Администраторы
Сообщений: 29
Статус: Offline
| Написать программу, которая будет принимать в качествеаргумента имя текстового файла, и выводить CSV файл (http://ru.wikipedia.org/wiki/CSV) сколонками: 1. Слово. 2. Частота. 3. Частота (в %).
CSV файл должен быть упорядочен по убыванию частоты, то есть самые частые слова должны идти в начале. Разделителями считать все символы кроме букв и цифр. Методические указания:· Использовать класс java.lang.StringBuilder дляпостроения слов. · Для чтения из файла удобно использовать: java.io.InputStreamReader,например: Readerreader = null; try { reader = newInputStreamReader(new FileInputStream("FILE NAME")); //read the data here } catch (IOException e) { System.err.println("Errorwhile reading file: " + e.getLocalizedMessage()); } finally { if (null!= reader) { try { reader.close(); } catch(IOException e) { e.printStackTrace(System.err); } } } · Для определения класса символа использоватьметод Character.isLetterOrDigit. Для хранения статистики в памяти можноиспользовать одну из реализаций интерфейса java.util.Set, который должен будет хранить объекты специальногокласса. Данный класс должен содержать слово и счётчик. В случае использования java.util.HashSet класс также долженреализовать методы equals, hashCode.
Теоретическиесведения:Контейнеры стандартной библиотеки расположены в пакете java.util. IO классы(потоки ввода-вывода) располагаются в пакете java.io. Основные интерфейсы: 1. Set – множество бездубликатов и без доступа по индексу. 2. Map – множество парключ-значение, где ключи не повторяются. Их основные реализации: 1. HashMap, HashSet — реализации на основе функции hashCode. 2. TreeMap, TreeSet – реализация на основе бинарного дерева. Ключи(элементы) должны реализовывать интерфейс Comporable, иначенеобходимо передавать в контейнер при его создании объект, реализующий интерфейс Comparator. Хранимые в данныхконтейнерах данные упорядочены. Лучшее время поиска, но большее накладные расходы на вставку, чем на основе функции hashCode.
|
|
| |