Глава 3. Разработка системы Деканат на Java.
Система Деканат.
Данный проект создавался с использованием платформы – Eclipse. Данная программа написана с использованием объектно-ориентированным подходом, которая описывает объект и его основные характеристики и действия. Иерархия классов этой программы включаем в себя шесть классов один из них который абстрактный. Это программа - деканат, разрабатывалась с целью работы со студентами, предусматривающую выдачу необходимой информации для студентов и преподавателей. А конкретнее она выделяет из списка студентов, которые получили средний бал выше 3.5 . А преподавателей программа выделяет только тех, у кого есть степень доцента и преподает экономику.
В первую очередь был создан базовый класс, Magomed, который определяет пол студента, имя и его возраст. Код:
public abstract class Magomed {
private String name;
private int age;
;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge(){
return age;
}
public void setAge(int age) {
this.age = age;
}
public boolean isMale() {
return isMale;
}
public void setMale(boolean isMale) {
this.isMale = isMale;
}
public Magomed(String name, int age, boolean isMale) {
this.name = name;
this.age = age;
this.isMale = isMale;
}
}
Следующий класс- Student, который определяет группу студента, средний бал. Код:
public class Student extends Magomed {
// группа
private String group;
// средний бал
private double rating;
public String getGroup() {
return group;
}
public void setGroup(String group) {
this.group = group;
}
public double getRating() {
return rating;
}
public void setRating(double rating) {
this.rating = rating;
}
public Student(String name, int age, boolean isMale, String group, double rating) {
super(name, age, isMale);
this.group = group;
this.rating = rating;
}
@Override
public String toString() {
return "Студент " + getName() + " учится в групе " + getGroup()
+ " и имеет средний бал " + getRating();
}
}
Далее был создан класс- Teacher. Он в своем случае определяет звание преподавателя и предмет, который он преподает. Код:
public class Teacher extends Magomed {
// звание
private String title;
// предмет который он читает
private String subject;
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
public Teacher(String name, int age, boolean isMale, String title, String subject) {
super(name, age, isMale);
this.title = title;
this.subject = subject;
}
@Override
public String toString() {
return "Учитель " + getName() + " имеет ученую степень " + getTitle() + " и преподает " + getSubject();
}
}
Следующий класс- класс Dean, который определяет факультет декана. Код:
public class Dean extends Magomed {
// факультет декана
private String faculty;
public String getFaculty() {
return faculty;
}
public void setFaculty(String faculty) {
this.faculty = faculty;
}
public Dean(String name, int age, boolean isMale, String faculty) {
super(name, age, isMale);
this.faculty = faculty;
}
@Override
public String toString() {
return "Декан " + getName() + " на факультете " + getFaculty();
}
}
Следующий класс, класс IT5kurs3group. В этот класс было введено список обучающих студентов и список преподавателей этой группы. Из этого списка в консоли должны выводиться список студентов, набравший проходной балл для выдачи оценки автоматом, это делается с помощью System.out.println. Таким же способом выделяется преподаватели с ученым степеням, доцент.
Код:
import java.util.*;
public class IT5kurs3group {
public static void main(String[] args) {
Student st1 = new Student("Абзимов Казим", 20, true, "ФК-071", 4.5);
Student st2 = new Student("Джачаев Имамуидин", 20, true, "ФК-071", 4.2);
Student st3 = new Student("Шарапутдинов Батыр", 20, false, "ПМ-081", 3.3);
Student st4 = new Student("Гитихчиев Шамиль", 21, false, "ПМ-081", 3.5);
Student st5 = new Student("Казиев Раджаб", 20, true, "ФК-071", 3.6);
Student st6 = new Student("Кахаев Имран", 20, true, "ФК-071", 4.5);
Student st7 = new Student("Дима Билан", 20, true, "ФК-071", 4.5);
Teacher t1 = new Teacher("Марья Ивановна", 49, false, "доцент", "економика");
Teacher t2 = new Teacher("Александр Павлович", 29, true, "аспирант", "електрооборудование");
Teacher t3 = new Teacher("Светлана Ивановна", 32, false, "професор", "економика");
Teacher t4 = new Teacher("Зарема Ахмедовна", 69, true, "професор", "безопасность сети интернет");
List<Student> students = Arrays.asList(st1, st2, st3, st4, st5, st6, st7);
List<Teacher> teachers = Arrays.asList(t1, t2, t3, t4);
UneverDGUIH manager = new UneverDGUIH();
System.out.println("Список студентов группы ФК-071 ");
List<Student> FK = manager.getStudentsFromTheSameGroup(students, "ФК-071");
for (Student student : FK)
System.out.println(student);
System.out.println("Список доцентов ");
List<Teacher> docents = manager.getDocents(teachers);
for (Teacher teacher : docents)
System.out.println(teacher);
}
}
Последний класс был создан с названием UneverDGUIH. Который, является классом для информации о людях из университета. С кодом:
import java.util.ArrayList;
import java.util.List;
public class UneverDGUIH {
public List<Student> getStudentsFromTheSameGroup(List<Student> students, String group) {
List<Student> result = new ArrayList<>();
for (Student student : students) {
if (student.getGroup().equals(group))
result.add(student);
}
return result;
}
public List<Teacher> getDocents(List<Teacher> teachers) {
List<Teacher> result = new ArrayList<>();
for (Teacher teacher : teachers)
if (teacher.getTitle().equals("docent") || teacher.getTitle().equals("доцент"))
result.add(teacher);
return result;
}
// rating from and to inclusive
public List<Student> getStudentsInRange(List<Student> students, double from, double to) {
List<Student> result = new ArrayList<>();
for (Student student : students) {
if (student.getRating() >= from && student.getRating() <= to)
result.add(student);
}
return result;
}
}
Результат получился(Рис 3.1.):
Рис 3.1.Результат проекта - Деканат.