ITI0011RUS:task11

Allikas: Kursused
Mine navigeerimisribale Mine otsikasti

Срок сдачи упражнения 18-е занятие (2 апреля).

Общая информация об упражнениях: 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 => []


Полезные материалы, где можно прочесть о сортировке:

Шаблон

В этот раз полноценного шаблона нет. Тем не менее, вы должны выполнить следующие требования:

  • Класс, в котором реализован main метод, должен содержать следующий метод: public static List<String> getSortedArguments(String[] args).
  • В методе main этот метод вызывается: getSortedArguments(args); (Это не обязательно, но можете сами посмотреть какие будут результаты).
  • Если хотите, можете создать дополнительные классы, которые следует разместить в том же пакете, что и класс, содержащий main метод.