import java.util.Scanner;
// Класс пользовательского Exception для возраста студента
class NotCorrectAgeException extends Exception {
NotCorrectAgeException(String message) {
super(message);
}
}
class Student {
private int age;
private String gender;
private String firstName;
private String lastName;
private String patronymic;
private int course;
private double averageGrade;
public Student(int age, String gender, String firstName, String lastName, String patronymic, int course, double averageGrade) throws NotCorrectAgeException {
setAge(age);
this.gender = gender;
this.firstName = firstName;
this.lastName = lastName;
this.patronymic = patronymic;
this.course = course;
this.averageGrade = averageGrade;
}
public void setAge(int age) throws NotCorrectAgeException {
if (age < 16 || age > 60) {
throw new NotCorrectAgeException("Age should be between 16 and 60");
}
this.age = age;
}
// геттеры и сеттеры для остальных полей
}
class Group {
private Student[] students;
private int size;
public Group() {
students = new Student[15];
size = 0;
}
public void addStudent() {
if (size >= 15) {
System.out.println("Group is full, cannot add more students");
return;
}
Scanner scanner = new Scanner(System.in);
System.out.println("Adding a new student...");
// Здесь заполняются данные для нового студента через консоль
try {
Student newStudent = new Student(/*ввод данных через консоль*/);
students[size] = newStudent;
size++;
System.out.println("Student added successfully");
} catch (NotCorrectAgeException e) {
System.out.println("Error: " + e.getMessage());
}
}
public void addStudent(Student student) {
if (size >= 15) {
System.out.println("Group is full, cannot add more students");
return;
}
students[size] = student;
size++;
System.out.println("Student added successfully");
}
public void removeStudent(int index) {
// Удаление студента по индексу
}
public Student getStudent(int index) {
// Возврат студента по индексу
return null;
}
}
public class Main {
public static void main(String[] args) {
Group group = new Group();
// Пример использования методов класса Group
group.addStudent();
}
}
Создать класс Группа в которой есть массив студентов. Проверять через try Catch на переполнение группы во время добавления нового студента(например не более 15 человек), проверять когда удаляем определенного, чтобы группа не была, например меньше 3 студентов. Также проверять при обращении через метод по номеру студента, на допустимость номера. При добавлении студента, должен создаваться объект класса Студент внутри метода добавления и устанавливаться значения. Сделать перегрузку метода добавления с параметром объекта класса Студент(в таком случае студент уже заполнен, вызывать консольное заполнение не надо) и без параметра(в таком случае создается студент и через консоль получаются данные).
Класс Студент содержит поля: возраст, пол, имя, фамилия, отчество, курс, средний бал.
При установки значении возраст, проверять диапазон от 16 до 60. Если не входим, то пробрасывать пользовательский Exception(Например NotCurrectAgeException). Конструкторы, с параметрами и без, геттеры и сеттеры.