ITI0011RUS:task11
Срок сдачи упражнения 17-е занятие (1 апреля).
Общая информация об упражнениях: ITI0011RUS_Practice.
Обратно на страницу предмета.
Описание
Создать программу, которая читает аргументы командной строки и сортирует их.
Аргументы командной строки можете задать в Eclipse следующим образом:
- Запустите вашу программы (при этом Eclipse создает для программы конфигурацию запуска)
- Выберите в меню Run -> Run Configurations...
- По умолчанию в появившемся окне должна быть выбрана ваша программа (EX11 например). Убедитесь в том, что: на вкладке Main (которая должна также по умолчанию быть окрыта) должен быть проект Project: EX11 (имя вашей программы), Main class: класс, содержащий точку входа (например EX11 или Main, ...).
- Перейти на вкладку Arguments
- Поле Program arguments - это то место, где вы можете передать своей программе аргументы запуска. Например: tere tulemast tagasi
Сортировка
Переданные программе аргументы следует отсортировать следуя следующей логике:
- более короткие слова выводятся раньше более длинных
- слова с одинаковой длиной сортируются обычным лексиграфическим способом (по алфавиту)
- null-элемент (
null
) является самым маленьким элементом (тоесть при сортировке в возрастающем порядке он должен быть самым первым, при сортировке в убывающем порядке самым последним).
Если в аргументах встречается элемент -d
, то этот элемент не учитывается в сортировке. Если этот аргумент встретился сортировка происходит в обратном порядке (смотри описание направления сортировки выше). Более длинные слова выводятся до более коротких, в случае слов одинаковой длины сортировка в обратном лексиграфическом порядке.
Примеры:
argumendid => tulemus tere tulemast koju => [koju, tere, tulemast] b a c => [a, b, c] "" a "a b" => ["", a, a b] "" -d a "a b" => [a b, a, ""] -d => []
Полезные материалы, где можно прочесть о сортировке:
- http://tutorials.jenkov.com/java-collections/sorting.html - пример сортировки
- http://www.mkyong.com/java/java-object-sorting-example-comparable-and-comparator/ - еще один пример
- http://www.javamex.com/tutorials/collections/sorting_comparator_example.shtml - пример сортировки строк
- https://docs.oracle.com/javase/tutorial/collections/interfaces/order.html - официальное руководство Oracle
Шаблон
В этот раз полноценного шаблона нет. Тем не менее, вы должны выполнить следующие требования:
- Класс, в котором реализован main метод, должен содержать следующий метод:
public static List<String> getSortedArguments(String[] args)
. - В методе main этот метод вызывается:
getSortedArguments(args);
(Это не обязательно, но можете сами посмотреть какие будут результаты). - Если хотите, можете создать дополнительные классы, которые следует разместить в том же пакете, что и класс, содержащий main метод.