Как вводить данные с клавиатуры с помощью List <String>в C # - PullRequest
0 голосов
/ 28 сентября 2019

Мне нужно написать консольное приложение, которое позволяет пользователям вводить список строк как полное имя (имя и фамилия).После этого напишите метод SortName (string [] arr) для реализации следующих требований:

  • Вам необходимо отсортировать их Фамилию по алфавиту.
  • Если полное имя имеет только одно слово,это будет трактоваться как Фамилия

Пример ввода:

Тони Старк, Стив Роджерс, Брюс Баннер, Тор, Наташа Романофф, Клинт Бартон, Джеймс Родс, Скотт Лэнг, Доктор Стрэндж, Кэрол Дэнверс, Питер Паркер Выход: Брюс Бэннер, Клинт Бартон, Кэрол Дэнверс, Скотт Лэнг, Питер Паркер, Джеймс Роудс, Стив Роджерс, Наташа Романофф, Тони Старк, Доктор Стрэндж, Тор

Так как я могу это сделать?

1 Ответ

0 голосов
/ 28 сентября 2019

Поскольку это домашнее задание, я не буду показывать реальный код.Вместо этого я постараюсь объяснить, что вы должны делать.Не пытайтесь решать это за один раз (когда все новые), просто делайте небольшие шаги.

Итерация 1

Используйте Console.ReadLine() для чтения одной строки в строковую переменную.Затем используйте Console.WriteLine(), чтобы напечатать его, возможно, с каким-нибудь дополнительным текстом, например "you entered: "

Итерация 2

Теперь попробуйте заполнить List<string>.Сначала создайте его, затем в цикле спросите имена и добавьте их в список.Вы можете начать с простого цикла for, чтобы запросить ровно 5 имен.

Итерация 3

Измените этот цикл for на другой тип цикла, чтобы можно было запрашивать любое количество имен,Продолжайте до тех пор, пока пользователь не введет пустое имя (= просто нажмите ввод, когда его попросят ввести имя).

Итерация 4

Выполните цикл по списку, чтобы распечатать имена.Они будут отображаться в указанном вами порядке - сортировка будет следующей.

Итерация 5

Сортируйте список в алфавитном порядке и распечатайте его.Пока это будет отсортировано по имени, а не по фамилии.

Итерация 6

Вам необходимо определить собственное сравнение сортировки.Когда вы сравниваете два имени, вам нужно разделить каждое имя на пробел и взять (и сравнить) только последнюю часть.

...