Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
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
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.06.2020, 09:38
Ответы с готовыми решениями:

Нужно перевести из C# в C++, или написать код на c++ с нуля
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { ...

Написать программу с нуля
Есть вот такое задание: Написать программу, просматривающую файлы в текстовом или бинарном виде. Программа содержит кнопки выбора типа...

Написать ОС на С++ с нуля реально ли?
Я хочу написать ОС на С++ в короткие сроки

4
Эксперт Java
 Аватар для KEKCoGEN
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
 Аватар для Aviz__
2753 / 2060 / 509
Регистрация: 17.02.2014
Сообщений: 9,488
20.06.2020, 14:54
Lo0GiCk, аукцион не пробовал?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.06.2020, 14:54
Помогаю со студенческими работами здесь

Написать свою ОС с нуля
Всем привет)) Никто не знает как написать свою ОС с нуля...

Написать свой движок с нуля
Как написать свой движок с нуля при помощью C++. Заранее спасибо.

Необходимо написать программу с нуля
суть в чём типо морского боя только там желательно должны быть профили(одиночная игра) твой уровень например первый бой комп рэндом себе...

как написать собственный саит с нуля?
всем доброго вечера(утра, дня.) столкнулся с такой проблемой: как написать собственный саит с нуля? куда привязки лучще всего делать?...

Написать mmorpg c нуля. Оценка времени
Привет всем!:) я хочу научится программировать и написать mmorpg я знаю что это займёт возможно займёт оооочень много времени, но я...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
[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-код на мобильном. Вращайте камеру одним пальцем,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru