0 / 0 / 0
Регистрация: 26.11.2017
Сообщений: 69
|
|
1 | |
Задание на 3 вида сортировки числовых значений из таблицы25.11.2018, 01:01. Показов 3933. Ответов 38
Добрый день! Нужна огромнейшая помощь с заданием в институте. Оно следующее:
Есть блокнот (прикрепил), в котором хранится некоторая таблица из 11 столбцов с различными числовыми значениями. Необходимо создать программу из двух классов, которая будет организовывать одну из 3-х видов сортировки по выбранному пользователем столбцу. В первом классе мейн надо "подключить" таблицу, организовать запрос на сортировку и обращение к функциям из второго класса. Во втором классе необходимо добавить данные таблицы (как я понял, перенести всю информацию из таблицы в код программы) и реализовать в функциях 3 вида сортировки значений 11-ти столбцов: метод вставки, метод Шелла и блочный метод. То есть: нужна программа, которая принимает информацию из таблицы блокнота. Пользователь, обращаясь к программе, должен по определенному запросу получить отсортированные значения по каждому из столбцов. Например, программа выводит перечень из названий столбцов (их 11), пользователь выбирает один столбец, значения которого он хочет отсортировать. И программа спрашивает, каким из 3-х способов необходимо отсортировать значения. Пользователь выбирает и получает результат. Входные данные необходимо ограничить значениями типа Int (например, методом hasNextInt() ). В пример программы для написания кода могу дать: Eclipse Oxygen
0
|
25.11.2018, 01:01 | |
Ответы с готовыми решениями:
38
Вывод из столбца таблицы только числовых значений Создание таблицы и задание значений по умолч. SQL-запросом Как скопировать данные из одного вида таблицы в другою иного вида Структура: подсчет максимальных и минимальных значений, сумм и средних значений для числовых полей |
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
|
25.11.2018, 08:14 | 2 |
что конкретно не ясно?
0
|
0 / 0 / 0
Регистрация: 26.11.2017
Сообщений: 69
|
|
25.11.2018, 08:17 [ТС] | 3 |
Написание кода)
0
|
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
|
25.11.2018, 08:30 | 4 |
открываешь идею и пальцами нажимаешь кнопки на клавиатуре
0
|
0 / 0 / 0
Регистрация: 26.11.2017
Сообщений: 69
|
|
25.11.2018, 08:43 [ТС] | 5 |
Если бы была возможность, я на данном ресурсе не выкладывал бы четко расписанное условие задачи. Надо было написать P.S., видимо..
0
|
2700 / 2013 / 502
Регистрация: 17.02.2014
Сообщений: 9,389
|
|
25.11.2018, 10:30 | 6 |
0
|
Am I evil? Yes, I am!
19245 / 10965 / 2919
Регистрация: 21.10.2017
Сообщений: 23,164
|
|
25.11.2018, 12:42 | 7 |
Создаешь класс Car, например. С полями, соответствующими твоей таблице. В цикле читаешь файл построчно, бьешь строки split'ом по пробелу, на основе полученных данных создаешь экземпляр Car и складываешь его в лист. Получается список машин со всеми параметрами. Далее уже сортируешь его как в душе угодно...
0
|
0 / 0 / 0
Регистрация: 26.11.2017
Сообщений: 69
|
|
25.11.2018, 12:45 [ТС] | 8 |
А как конкретно осуществлять считывание построчном значений из блокнота? Или надо вручную вбивать все в программный код?
0
|
Am I evil? Yes, I am!
19245 / 10965 / 2919
Регистрация: 21.10.2017
Сообщений: 23,164
|
||||||
25.11.2018, 12:50 | 9 | |||||
Начнем с того, что это обыкновенный текстовый файл. Считать с него инфу можно различными способами, вручную делать это, конечно же не следует. Иначе смысла нет. Например
0
|
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
|
25.11.2018, 12:51 | 10 |
0
|
0 / 0 / 0
Регистрация: 26.11.2017
Сообщений: 69
|
|
25.11.2018, 12:55 [ТС] | 11 |
Вот оно как! Спасибо, буду пытаться выжать что-то из себя) а то я вообще полный 0 в программировании, а закрыть сессию надо получается внутри программы будет находится таблицам данными. А как конкретный столбец поместить в одномерный массив, чтобы отсортировать значения? По сути у меня будет 11 одномерных массивов?
0
|
Am I evil? Yes, I am!
19245 / 10965 / 2919
Регистрация: 21.10.2017
Сообщений: 23,164
|
|
25.11.2018, 13:03 | 12 |
Если сделать как я написал, будет 1(!) список машин, которые можно сортировать как угодно.
0
|
0 / 0 / 0
Регистрация: 26.11.2017
Сообщений: 69
|
||||||
25.11.2018, 19:10 [ТС] | 13 | |||||
Итак, у меня вышло считать всю информацию с файла. Но как теперь занести значения одного столбца в массив для дальнейшей сортировки?
0
|
2700 / 2013 / 502
Регистрация: 17.02.2014
Сообщений: 9,389
|
|
25.11.2018, 19:30 | 14 |
это нужно делать не в классе Cars!
в самом классе Cars, должны быть поля заявленные в "блокноте" (как только люди не обзывают файлы!), а именно: "mpg" "cyl" "disp" "hp" "drat" "wt" "qsec" "vs" "am" "gear" "carb", с соответствующими типами! Еще, он класс, должен иметь конструктор, который будет инициализировать эти поля.
0
|
0 / 0 / 0
Регистрация: 26.11.2017
Сообщений: 69
|
|
25.11.2018, 19:34 [ТС] | 15 |
Мне нужно прям пошагово объяснить, как писать программу)) Если не сложно!)
То есть я создаю два класса: в первом я реализую считывание полей из блокнота. А как это правильно сделать? Вот я выше скинул код, он у меня в программе выводит на консоль целиком всю таблицу. А мне как раз надо выделить значения каждого столбца в массив одномерный, который я потом отсортирую по выбору. Что за конструктор?
0
|
2700 / 2013 / 502
Регистрация: 17.02.2014
Сообщений: 9,389
|
|
25.11.2018, 19:38 | 16 |
прости, Бро, но это слишком фундаментальный вопрос, чтобы его тут обсуждать! Он сродни вопросу, "что такое руль, у авто".
0
|
Am I evil? Yes, I am!
19245 / 10965 / 2919
Регистрация: 21.10.2017
Сообщений: 23,164
|
||||||||||||||||
25.11.2018, 21:31 | 17 | |||||||||||||||
Сообщение было отмечено kindastan как решение
Решение
kindastan, вот, топОрно, конечно, но для общего понимания надеюсь, сойдет...
Main
Car
CarUtils
Добавлено через 3 минуты kindastan, учти, что сортировки здесь ни разу не трех видов
0
|
0 / 0 / 0
Регистрация: 26.11.2017
Сообщений: 69
|
|
25.11.2018, 21:41 [ТС] | 18 |
Начал разбираться с вашим кодом! тут возникли некоторые проблемы (в Eclipse Oxygen)/ Прилагаю фото. Ошибки в трех разных классах. 1 фото: The declared package "ru.ismoke" does not match the expected package ""
2 фото: The declared package "ru.ismoke" does not match the expected package "" (1 строчка) AllArgsConstructor cannot be resolved to a type (3 строчка) AllArgsConstructor cannot be resolved to a type (5, 6 строчки) 3 фото: The constructor Car(String, double, int, double, int, double, double, double, int, int, int, int) is undefined (44 строчка) Multiple markers at this line - The method comparingInt(ToIntFunction<? super T>) in the type Comparator is not applicable for the arguments (Car::getCyl) - Line breakpoint:CarUtils [line: 49] - sortByCyl() - The type Car does not define getCyl(T) that is applicable here (49 строчка) Multiple markers at this line - The type Car does not define getModel(T) that is applicable here - The method comparing(Function<? super T,? extends U>) in the type Comparator is not applicable for the arguments (Car::getModel) (53 строчка)
0
|
Am I evil? Yes, I am!
19245 / 10965 / 2919
Регистрация: 21.10.2017
Сообщений: 23,164
|
|
25.11.2018, 21:50 | 19 |
Естественно. Укажи там пакет, в котором классы лежат у тебя
По поводу конструктора, сеттеров и геттеров - каюсь, по привычке использовал lombok Добавлено через 2 минуты Т.е. к проекту нужно подключить библиотеку lombok (сорян, но как в эклипсе это делается не знаю) и будет счастье. Или вручную сгенерировать конструктор со всеми аргументами, все геттеры и сеттеры. Ну и удалить над классом Car аннотации ломбока и импорт
0
|
0 / 0 / 0
Регистрация: 26.11.2017
Сообщений: 69
|
|
25.11.2018, 21:52 [ТС] | 20 |
А как указать этот пакет? и что такое Lombok? то есть как-то заменить надо мне?
Добавлено через 1 минуту А в какой программе вы работали?
0
|
25.11.2018, 21:52 | |
25.11.2018, 21:52 | |
Помогаю со студенческими работами здесь
20
Построить три вида фигуры. На месте вида спереди и вида слева совместить часть вида с частью разреза Построить три вида фигуры. На месте вида спереди и вида слева совместить часть вида с частью разреза - AutoCAD Используя алгоритм быстрой сортировки, упорядочить массив из числовых элементов из файла по возрастанию числа их делител Округление числовых значений Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |