# Техническое задание: класс `Student` ## Задача Реализовать класс `Student` как единственную точку проверки корректности данных. Объект класса `Student` не может быть создан с некорректными данными. ## Требования 1. Класс `Student` содержит три поля: - `groupNumber`; - `averageGrade`; - `recordBookNumber`. 2. Все поля должны быть `private` и неизменяемыми после создания объекта. 3. Проверка корректности данных должна находиться в классе `Student`. 4. Реализовать класс `StudentBuilder` для создания объектов `Student`. 5. В `StudentBuilder` реализовать методы: - `setGroupNumber(...)`; - `setAverageGrade(...)`; - `setRecordBookNumber(...)`; - `build()`. 6. Метод `build()` должен создавать только корректный объект `Student`. При некорректных данных должно выбрасываться исключение. 7. Реализовать для `Student`: - методы получения значений полей; - `toString()`; - `equals()`; - `hashCode()`. ## Результат Должны быть реализованы два независимых класса: ```text Student.java StudentBuilder.java ``` Классы не должны зависеть от сортировки, коллекции, меню и ввода данных.