|
0 / 0 / 0
Регистрация: 10.01.2018
Сообщений: 105
|
|||||||||||||||||||||
Конструкторы и списки03.05.2018, 18:37. Показов 1107. Ответов 28
Метки нет (Все метки)
Здравствуйте! Прошу по возможности помочь со следующим кодом:
Аппка состоит пока из 4 классов: App (main), Equipment, MuscleGroup и Training. Поначалу все шло хорошо с упражнением, пока я не дошел до списков и вконец в итоге запутался. 1. Класс Equipment содержит а) название тренажера б) тип тренажера (кардио или свободный вес) в) тренируемая группа мышц ->MuscleGroup г) Максимальное рекомендуемое время тренировки д) Сжигаемые калории в час (в среднем) Класс должен содержать следующие методы: - Конструктор для всех данных (его я вроде реализовал нормально) - public int burnedCcalPerHour (int minutes){ } выдает сожженные за время тренировки калории - public int burnedCcalPerHour (int minutes, int hours){ } выдает сожженные за время тренировки калории в минутах и часах boolean supports (String muscle) { } true если данный тренажер тренирует определенную мыщцу boolean supports (MuscleGroup muscleGroup){ } true если данный тренажер тренирует определенную группу мышц boolean electricityUse (){ } true если этот тренажер требует подключения к электричеству, я так понимаю, что если кардио, то true В этом классе вместе с muscleGroup я запутался как реализовать и разделить группу и конкретную мышцу и как вывести и в часах и минутах 2. Класс Training (сама тренировка) Должен содержать следующие свойства: а) длительность тренировки б) дату и время начала тренировки (пока как string) в) Какой тренажер использовался ->Equipment В классе должны использоваться следующие методы: - конструктор для указания использованного тренажера - конструктор для тренажера, даты и времени начала тренировки - boolean goalAchieved (int goalCcal) { } true если во время тренировки достигнута цель, указанная в goalCcal, при этом должны браться во внимание длительность тренировки и средний расход ккал в час у тренажера int requiredTrainingTime (int goalCcal) { } - выдает количество минут для достижения goalCcal void train() { } увеличивает длительность тренировки на 1 мин void train (int minutes) { } увеличивает длительность тренировки на 5 мин 3. Класс MuscleGroup Содержит в себе данные о группах мышц, например, ноги -> квадрицепс, бицепс бедра, ягодицы и икры и т.п. В классе должны содержаться следующие данные: Название групп мыщц , список со всеми мускулами этих групп. Каждый мускул может быть реализован как строка "Трицепс" и т.п. Список этих строк сохраняется в массиве. boolean contains (String musle){ } true если эта группа мышц содержит заданный мускул. 4. В App должны создаваться 2 тренажера и вызываться все методы классов Equipment, MuscleGroup и Training. Так же должен создаваться объект класса Training (тренировка) и для этого объекта должен вызываться while, пока метод train(5) (по 5 минут) не достигнет цели в 800 ккал и должно показываться, сколько калорий сожжено фактически.
2. Запутался с калориями и вообще методами, как это связать правильно 3. Пока еще у меня есть свободные get set, на будущее, но чую что-то и лишнее. Буду за советы и поправки кода весьма благодарен. Поначалу все было понятно, пока не дошел до списков.
0
|
|||||||||||||||||||||
| 03.05.2018, 18:37 | |
|
Ответы с готовыми решениями:
28
Списки, конструкторы, деструкторы Webpack собирает проект, а приложение говорит что мои конструкторы не конструкторы Определите класс матриц. Напишите перегруженные конструкторы для создания одномерной и двумерной матриц. В конструкторы передаются размерности матриц |
|
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
|
| 03.05.2018, 19:04 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 10.01.2018
Сообщений: 105
|
|
| 03.05.2018, 19:16 [ТС] | |
|
Блин, фигню ляпнул, ну в целом понятно по коду и описанию нужных функций?)
0
|
|
|
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
|
| 03.05.2018, 19:29 | |
|
нет
0
|
|
|
2753 / 2060 / 509
Регистрация: 17.02.2014
Сообщений: 9,487
|
|
| 03.05.2018, 19:33 | |
|
RednexRampage, думаю, если ты напишешь, словами, всю задачу и ктонить захочет ее реализовать, то ты только выиграешь.
0
|
|
|
0 / 0 / 0
Регистрация: 10.01.2018
Сообщений: 105
|
|
| 03.05.2018, 19:33 [ТС] | |
|
Окей) В общем, я не совсем понимаю, как прикрутить методы вычисления по калориям и вот тем указанным методам и у меня строковые массивы для данных по группам мышц, я не совсем понял, как он должен искать конкретно отдельно muscle, как это лучше реализовать.
0
|
|
|
2753 / 2060 / 509
Регистрация: 17.02.2014
Сообщений: 9,487
|
|
| 03.05.2018, 19:35 | |
|
RednexRampage, нихрена не понятно! задача, какая?
0
|
|
|
0 / 0 / 0
Регистрация: 10.01.2018
Сообщений: 105
|
|
| 03.05.2018, 19:35 [ТС] | |
|
Я понял)Только мне нужна не реализация, а понять самому как все сделать это лишь в виде упражнения, а не конкретного приложения.
0
|
|
|
2753 / 2060 / 509
Регистрация: 17.02.2014
Сообщений: 9,487
|
|
| 03.05.2018, 19:40 | |
|
ну, это уж, как люди захотят. тут гарантий нет
0
|
|
|
0 / 0 / 0
Регистрация: 10.01.2018
Сообщений: 105
|
|
| 03.05.2018, 19:46 [ТС] | |
|
Смысл в том, что постепенно пишется типа App для фитнеса с пока с теми классами, что я указал. И те классы должны содержать перечисленные выше методы.
Грубо говоря в Equip`e содержится "описание" тренажера и должно высчитываться, сколько калорий потрачено за минуты из рассчета по среднему расходу калорий у определенного тренажера, и содержится проверка, тренирует ли данный тренажер конкретную мышцу или группу мышц, а так же нужно ли ему для работы электричество. В Training - сама тренировка, с датой, временем, и проверкой, достигнута ли цель по калориям и сколько времени нужно для достижения этой цели (методы я тоже эти указал) А так же нужен метод, который добавляет +1 или +5 мин к длительности тренировки train() В MuscleGroup содержится информация о группах мышц грудь, ноги и т.п. притом метод contains должен проверять, содержит ли конкретная группа определенный мускул, например, содержится ли "Трицепс" в какой-либо из групп. В App "создаются" два тренажера с описанием (я и создал leg press и Ellipse), должны вызываться все методы из Training, MuscleGroup и Equipment и создается новая тренировка, которая вызывается while с методом train(5) пока не будет достигнута цель в 800 ккал.
0
|
|
|
2753 / 2060 / 509
Регистрация: 17.02.2014
Сообщений: 9,487
|
|
| 03.05.2018, 19:53 | |
|
RednexRampage, на вскидку, ты рано взялся за кодинг. нужно продумать объектную модель, имхо.
1
|
|
|
0 / 0 / 0
Регистрация: 10.01.2018
Сообщений: 105
|
|
| 03.05.2018, 19:57 [ТС] | |
|
Согласен и уже этим занимаюсь, единственное что, вот как правда этот список мышц реализовать по форме и чтобы еще искался отдельный мускул в строковых массивах? Вот тут я совсем запутался. Пробовал разные реализации, не могу понять как это сделать.
0
|
|
|
2753 / 2060 / 509
Регистрация: 17.02.2014
Сообщений: 9,487
|
|
| 03.05.2018, 20:00 | |
|
например, мне, пока, не совсем понятно, как будут объекты "тренажер" и "мышцы" связаны, какой тип связи.
0
|
|
|
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
|
| 03.05.2018, 20:04 | |
|
enum сделай например
0
|
|
|
0 / 0 / 0
Регистрация: 10.01.2018
Сообщений: 105
|
|
| 03.05.2018, 20:04 [ТС] | |
|
Вот тут в описании:
Класс Equipment содержит а) название тренажера б) тип тренажера (кардио или свободный вес) в) тренируемая группа мышц ->MuscleGroup г) Максимальное рекомендуемое время тренировки д) Сжигаемые калории в час (в среднем) И в коде this.MuscleGroup = MuscleGroup; Если я это таки правильно сделал, в конструкторе. Смысл в привязке групп списка тренируемых групп мышц к тренажеру.
0
|
|
|
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
|
| 03.05.2018, 20:04 | |
|
с мышцами
1
|
|
|
2753 / 2060 / 509
Регистрация: 17.02.2014
Сообщений: 9,487
|
|
| 03.05.2018, 20:20 | |
|
1
|
|
|
0 / 0 / 0
Регистрация: 10.01.2018
Сообщений: 105
|
|
| 03.05.2018, 20:46 [ТС] | |
|
Хм, есть примерные идеи, или примеры, например? Я вот конкретно со списком и путаюсь, чую, что где-то что-то упускаю. С одной стороны понятно, как должно работать, но не могу понять как привязать.
0
|
|
|
2753 / 2060 / 509
Регистрация: 17.02.2014
Сообщений: 9,487
|
|
| 04.05.2018, 11:34 | |
|
в качестве примера, как все не просто, глянь Задача "Заказы в кафе"
Добавлено через 2 часа 31 минуту вот, Бро, еще пришла мысль https://www.cyberforum.ru/oop/ в эту ветку форума помести вопрос о правильном ООП проектировании твоей задачи. А по чертежу, если его подскажут, уже писать будет просто)).
1
|
|
|
0 / 0 / 0
Регистрация: 10.01.2018
Сообщений: 105
|
|
| 04.05.2018, 12:11 [ТС] | |
|
Громадное спасибо)
0
|
|
| 04.05.2018, 12:11 | |
|
Помогаю со студенческими работами здесь
20
Конструкторы базовых классов ("Производный класс не наследует конструкторы базовых классов") Список женихов и невест. Обьеденить списки в списки пар. Как преобразовать вложенные списки из строки в обычные списки? Дан вектор, элементы которого списки из целых чисел.Заменить на NILL списки с суммой равной 0 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|