|
0 / 0 / 0
Регистрация: 11.12.2018
Сообщений: 6
|
|
Написать код с нуля08.06.2020, 09:38. Показов 1532. Ответов 4
Метки нет (Все метки)
Требования к выполнению заданий
1) В процессе выполнения задания НЕЛЬЗЯ пользоваться утилитными классами Java. Т.е. можно использовать только импортируемые по умолчанию классы – пакет java.lang. 2) Не используйте магические константы. Литералы записывайте в константы класса, и в код обращайтесь к ним. Таким образом вы локализуете изменения этих значений в одном месте, а имя константы скажет нам о сути литерала. 3) Используйте особенность конструкторов класса – вызывать другой конструктор этого же класса. 4) При определении свойств класса используйте стандартный паттерн: get<ИмяАтрибута>() и set<ИмяАтрибута>() 5) Имена входных параметров конструкторов, значения которых записываются в атрибуты, должны совпадать с соответствующими атрибутами. Для доступа к атрибуту используйте ключевое слово this. 6) Имена переменных и методов выбирайте в соответствии с конвенциями именования. 7) Промежуточные переменные, используемые в цикле (кроме счетчика итераций) объявляйте вне цикла. 8) Строки сравниваются между собой с помощью метода equals() : string.equals(otherString) 9) В процессе выполнения задания не запрещено создавать дополнительные методы и классы (при необходимости) Задание на выполнение Задание 1 Слейте (merge) ветку initTask в master. Создайте дочернюю от master ветку model. Весь код в данной работе пишите в рамках этой ветви. Задание 2 В пакете oop создайте подпакет model. Все классы, создаваемые в рамках этой работы, располагайте в нем. Задание 3 Создайте публичный класс Author – автор. Класс характеризуется ФИО. Конструкторы: − По-умолчанию – инициализирует Фамилию, Имя, Отчество пустыми строками. − принимающий три параметра – Фамилию, Имя, Отчество. Методы: − возвращающий Фамилию. − возвращающий Имя. − возвращающий Отчество. Задание 4 Создайте публичный класс Article – статья. Класс характеризуется названием, массивом авторов. Конструкторы: − принимающий два параметра – название и массив авторов. Авторы копируются в новый массив, ссылка на который записывается в атрибут класса Методы: − возвращающий название − устанавливающий новое значение названия − возвращающий копию массива авторов − устанавливающий новых авторов. Принимает массив авторов в качестве параметра. Авторы копируются в новый массив, ссылка на который записывается в атрибут класса − проверяющий, если заданный автор среди авторов данной книги. Принимает ссылку на экземпляр класса Author в качестве параметра. Для сравнения авторов либо сравниваете их ФИО ручками, либо переопределяете метод equals() в классе Author и используете его − проверяющий, является ли данная книга народным творчеством (то есть у нее нет автора и массив авторов – пустой, т.е. не имеет элементов и его свойство length = 0) Задание 5 Создайте публичный класс Magazine – Сборник статей. Этот класс характеризуется массивом статей. Логика работы класса. Емкость – это размер массива. Число элементов – это текущее число элементов, имеющих ссылки на экземпляр класса Article (их может быть меньше, чем размер массива). При добавлении элемента, ссылка на его экземпляр записывается в первый свободный (имеющий значение null) элемент массива, затем следующий и т.д. Если при попытке добавить элемент выясняется, что размер массива этого не позволяет (в массиве все элементы имеют значение), размер массива удваивается. Т.е. создается новый массив, имеющий емкость в два раза большую, чем текущий, и, начиная с 0-го, в него копируются элементы текущего массива. После чего ссылка на текущий массив заменяется ссылкой на созданный. При удалении элемента емкость массива не меняется. Все элементы с 0-го до удаляемого (не включительно) остаются без изменений. А элементы, начиная со следующего, после удаляемого, копируются в предыдущий элемент. Последний, имеющий значение не null после копирования заменяется значением null. Для контроля за числом элементов необходимо добавить атрибут, хранящий текущее число элементов в массиве. При добавлении элемента, значение атрибута увеличивается на 1, при удалении – уменьшается. Конструкторы: − не принимающий параметров, инициирующий массив из 16 элементов (сами элементы имеют значение null) − принимающий целое число – емкость массива, инициирующий массив указанным числом элементов (сами элементы имеют значение null) − принимающий массив статей – его элементы копируются в новый массив, ссылка на который сохраняется в атрибуте класса Методы: − добавляющий статью в первое свободное место (принимает ссылку на экземпляр класса Article). Пока этот метод возвращает истину после выполнения операции добавления элемента − вставки статьи в заданную позицию (принимает номер элемента в массиве, ссылку на экземпляр класса Article). При вставке, элементы массива, начиная с указанного сдвигаются вправо, и ссылка на элемент заносится в массив. Пока этот метод возвращает истину после выполнения операции добавления элемента. − возвращающий ссылку на экземпляр класса Article по его номеру в массиве. Принимает номер в качестве параметра − изменяющий ссылку на экземпляр класса Article по его номеру в массиве. Принимает в качестве параметров номер и ссылку на экземпляр класса Article. Возвращает ссылку, которую заменили − удаляющий статью из массива по ее номеру в массиве (принимает номер в массиве в качестве параметра). Возвращает удаленную из массива ссылку на экземпляр класса Article. При этом все элементы, после удаляемого сдвигаются влево на одну позицию. − удаляющий все статьи с заданным названием (принимает строку – название статьи). Возвращает число удаленных статей − возвращающий общее число статей − возвращающий копию массива статей − возвращающий массив статей, отсортированный по их названию − возвращающий массив статей, среди авторов которой есть заданный. В качестве параметра принимает ссылку на экземпляр класса Author − возвращающий массив статей с заданным названием. Принимает название в качестве параметра Задание 6 В классе Test создайте статичный метод lab1tests() для проверки созданных классов, работы их конструкторов и методов. Результаты вызовов методов выведите в стандартный поток вывода и оцените корректность вывода.
0
|
|
| 08.06.2020, 09:38 | |
|
Ответы с готовыми решениями:
4
Написать программу с нуля Написать ОС на С++ с нуля реально ли? |
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
|
| 08.06.2020, 10:15 | |
|
Lo0GiCk, тебя благословить или что?)
1
|
|
|
0 / 0 / 0
Регистрация: 11.12.2018
Сообщений: 6
|
|
| 08.06.2020, 10:53 [ТС] | |
|
Можно конечно ещё раз, но я уже получил благославление от батюшки в церкви рядом с универом)
0
|
|
|
25 / 21 / 6
Регистрация: 10.12.2018
Сообщений: 115
|
|
| 20.06.2020, 10:54 | |
|
вот это тз)) необходимо смерть жить и не Task ветку Master ну? что тут то не получилось?)
0
|
|
|
2753 / 2060 / 509
Регистрация: 17.02.2014
Сообщений: 9,488
|
|
| 20.06.2020, 14:54 | |
|
Lo0GiCk, аукцион не пробовал?
0
|
|
| 20.06.2020, 14:54 | |
|
Помогаю со студенческими работами здесь
5
Написать свою ОС с нуля Написать свой движок с нуля Необходимо написать программу с нуля как написать собственный саит с нуля? Написать mmorpg c нуля. Оценка времени Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
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-код на мобильном. Вращайте камеру одним пальцем,. . .
|