Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

Лабораторна робота №2 - Рядки в мові програмування Java

Опис завдання

Тема: Рядки в мові програмування Java
Мета: Ознайомлення з рядками та використання основних методів їх обробки в мові програмування Java. Здобуття навичок у використанні рядків в мові програмування Java.

Варіант виконання

  • Номер залікової книжки: 2
  • C3 = 2 % 3 = 2 → Тип даних: StringBuffer
  • C17 = 2 % 17 = 2 → Завдання: Знайти таке слово в першому реченні заданого тексту, якого немає в жодному з наступних

Функціональність програми

Програма виконує наступні операції:

  1. Розділяє вхідний текст на речення за розділовими знаками (., !, ?)
  2. Витягає всі слова з першого речення
  3. Для кожного слова з першого речення перевіряє його наявність у всіх наступних реченнях
  4. Повертає перше знайдене слово, яке є унікальним для першого речення

Технічні особливості

Використані технології

  • Мова програмування: Java
  • Тип даних для роботи з рядками: StringBuffer (згідно з варіантом)
  • JDK версія: 8+

Архітектура

  • Всі методи статичні для спрощення виконання
  • Повна обробка винятків та валідація вхідних даних

Встановлення та запуск

Вимоги

  • Java Development Kit (JDK) 8 або новіший
  • Будь-яка Java IDE або командний рядок

Компіляція та запуск

# Компіляція
javac Lab2.java

# Запуск
java Lab2

Приклад роботи

Вхідні дані

"Це перше речення з унікальними словами. Друге речення містить загальні слова. Третє речення також має загальні елементи."

Вихідні дані

Унікальне слово з першого речення: унікальними

Методи класу

main(String[] args)

Головний метод програми, що ініціалізує дані та викликає основну логіку.

findUniqueWord(StringBuffer text)

Основний метод для пошуку унікального слова з першого речення.

splitIntoSentences(StringBuffer text)

Розділяє текст на окремі речення за розділовими знаками.

extractWords(StringBuffer sentence)

Витягає всі слова з заданого речення, ігноруючи розділові знаки.

isUniqueInFirstSentence(StringBuffer word, StringBuffer[] sentences)

Перевіряє, чи є слово унікальним для першого речення.

areWordsEqual(StringBuffer word1, StringBuffer word2)

Порівнює два слова на рівність без урахування регістру.

Обробка помилок

Програма обробляє наступні типи винятків:

  • IllegalArgumentException - для некоректних вхідних даних
  • RuntimeException - для помилок під час обробки тексту
  • Exception - для всіх інших непередбачених помилок

Особливості реалізації

  1. Використання лише StringBuffer: Згідно з вимогами завдання, для всіх операцій з рядками використовується тільки StringBuffer
  2. Мінімальні перетворення: Перетворення StringBuffer в String відбувається лише для введення/виведення
  3. Нечутливість до регістру: Порівняння слів відбувається без урахування регістру літер
  4. Ігнорування розділових знаків: При витяганні слів ігноруються всі не-літерні символи

Тестування

Для тестування програми можна змінити значення змінної inputText у методі main() на власний текст.

Стандарти кодування

Код написано згідно з:

  • Java Code Conventions
  • Принципами чистого коду
  • Детальним документуванням всіх методів

Автор

Студент групи: ІМ-34
ПІБ: Буткеивч Євгеній Олександрович
Номер залікової книжки: 2

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages