Лабораторная работаПрограммированиеГод: 2025ИРНИТУ: Иркутский национальный исследовательский технический университет
👁 15💼 0

Готовая лабораторная: Поиск слова в середине строки

Загружена: 18.02.2026 09:47

Реализация задачи по объектной декомпозиции: создание класса Search на Java для выбора слова, расположенного в центре предложения. Описаны алгоритмы определения центрального символа, обработка пробелов и граничных случаев, приведён код и примеры запуска — полезно при изучении строковых алгоритмов и практики ООП.

Содержание

Провести объектную декомпозицию задачи из индивидуального задания и разработать классы, содержащие соответствующие поля для хранения необходимых данных и методы, обеспечивающие достаточную для решения задачи функциональность класса. Создание объекта класса решающего задание и вызов его методов должны осуществляться из главного класса. 
Индивидуальное задание, вариант №14:
Выберите из предложения слово, которое располагается в центре предложения, то есть символ, входящий в его состав, является центральным символом в предложении (с учетом пробелов). Если этот символ - пробел, тогда выбрать под одному слову слева и справа от центрального символа.

Для выполнения задания был выделены следующие классы:
Класс Search, обладающий полем, которое хранит строку. Решение задачи реализовано как метод searchWord объекта класса Search. Помимо этого, класс Search содержит служебные методы получения и задания строки.

Подробное описание

📘 О чем эта работа

Лабораторная по объектно-ориентированному программированию демонстрирует разработку класса Search на языке Java для решения задачи выбора слова, расположенного в середине предложения. Объектом является строка, содержащая предложение; цель — выделить слово, в котором находится центральный символ строки, либо ближайшие слова слева и справа, если центральный символ — пробел.

📚 Что внутри

В отчёте подробно описаны структура проекта и программная реализация. Приведены исходные файлы и их роль:

  • Класс Main — демонстрация работы через примеры: строки 'Работаем в поле, как волки, а не как овцы.' и 'Лес По.' с выводом результатов.
  • Класс Search — основная логика: поле stringToSearch, геттер/сеттер и метод searchWord(), реализующий поиск центрального слова.
  • Алгоритмы и проверки: вычисление индекса middle как длины строки / 2; проверка на пустую или null-строку; если символ в середине — пробел, метод находит ближайшие слова слева и справа, учитывает отсутствие пробелов; иначе определяет границы слова, прокручивая индексы влево и вправо до пробела.
  • Разбор граничных случаев: короткие предложения, отсутствие пробелов справа/слева, корректировка индексов для избежания ошибок.
  • Ссылка на репозиторий с кодом: https://replit.com/@lobas1379/SnoopyNoisyAddresses — проект содержит исходники Main и Search и позволяет запустить примеры онлайн.

📊 Для кого подходит

Подходит студентам факультетов информационных технологий и прикладной математики, изучающим ООП на Java; полезна на лабораторных по программированию, при изучении обработки строк и для закрепления навыков декомпозиции задач на классы и методы.

✨ Особенности

Отчёт демонстрирует конкретную практическую реализацию: готовый код на Java с подробными комментариями, обработкой исключительных ситуаций и демонстрацией вывода. Это удобный пример для изучения приёмов поиска подстрок, работы с индексами и проектирования небольших классов с единственной ответственностью.

❓ Частые вопросы

Подойдет ли для моего ВУЗа?
Структура отчёта соответствует академическим требованиям к лабораторным по ООП: цель, описание задачи, реализация классов, примеры выполнения.

Можно адаптировать?
Да — код легко модифицируется: можно расширить поиск для учёта знаков препинания, регистрозависимости или учитывать многобайтовые символы Unicode.