📘 О чем эта работа
Лабораторная по объектно-ориентированному программированию демонстрирует разработку класса Search на языке Java для решения задачи выбора слова, расположенного в середине предложения. Объектом является строка, содержащая предложение; цель — выделить слово, в котором находится центральный символ строки, либо ближайшие слова слева и справа, если центральный символ — пробел.
📚 Что внутри
В отчёте подробно описаны структура проекта и программная реализация. Приведены исходные файлы и их роль:
- Класс Main — демонстрация работы через примеры: строки 'Работаем в поле, как волки, а не как овцы.' и 'Лес По.' с выводом результатов.
- Класс Search — основная логика: поле stringToSearch, геттер/сеттер и метод searchWord(), реализующий поиск центрального слова.
- Алгоритмы и проверки: вычисление индекса middle как длины строки / 2; проверка на пустую или null-строку; если символ в середине — пробел, метод находит ближайшие слова слева и справа, учитывает отсутствие пробелов; иначе определяет границы слова, прокручивая индексы влево и вправо до пробела.
- Разбор граничных случаев: короткие предложения, отсутствие пробелов справа/слева, корректировка индексов для избежания ошибок.
- Ссылка на репозиторий с кодом: https://replit.com/@lobas1379/SnoopyNoisyAddresses — проект содержит исходники Main и Search и позволяет запустить примеры онлайн.
📊 Для кого подходит
Подходит студентам факультетов информационных технологий и прикладной математики, изучающим ООП на Java; полезна на лабораторных по программированию, при изучении обработки строк и для закрепления навыков декомпозиции задач на классы и методы.
✨ Особенности
Отчёт демонстрирует конкретную практическую реализацию: готовый код на Java с подробными комментариями, обработкой исключительных ситуаций и демонстрацией вывода. Это удобный пример для изучения приёмов поиска подстрок, работы с индексами и проектирования небольших классов с единственной ответственностью.
❓ Частые вопросы
Подойдет ли для моего ВУЗа?
Структура отчёта соответствует академическим требованиям к лабораторным по ООП: цель, описание задачи, реализация классов, примеры выполнения.
Можно адаптировать?
Да — код легко модифицируется: можно расширить поиск для учёта знаков препинания, регистрозависимости или учитывать многобайтовые символы Unicode.