Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class NachhilfeVerwaltung {
- private BinarySearchTree<Subject> management;
- private BinarySearchTree<Student> studentmanager;
- public NachhilfeVerwaltung() {
- studentmanager = new BinarySearchTree<Student>();
- management = new BinarySearchTree<Subject>();
- addSubject(new Subject("Mathe"));
- addSubject(new Subject("Informatik"));
- addSubject(new Subject("Deutsch"));
- addSubject(new Subject("Englisch"));
- addSubject(new Subject("Religion"));
- addSubject(new Subject("Sport"));
- }
- public void addSubject(Subject pSubject) {
- if(pSubject != null && management.search(pSubject) == null) {
- management.insert(pSubject);
- System.out.println("Subject: " + pSubject.getName() + " has been added");
- }
- }
- public Subject searchSubject(Subject pSubject) {
- if(pSubject != null) {
- return management.search(pSubject);
- } else {
- return null;
- }
- }
- public void removeSubject(Subject pSubject) {
- management.remove(pSubject);
- System.out.println("Subject: " + pSubject.getName() + " has been removed!");
- }
- public List<Subject> getAllSubjects() {
- if(!management.isEmpty()) {
- List<Subject> tmp = new List<Subject>();
- tmp = inOrderSubject(management,tmp);
- tmp.toFirst();
- while(tmp.hasAccess()) {
- System.out.println("Subject: " + tmp.getContent().getName());
- tmp.next();
- }
- return tmp;
- } else {
- System.out.println("ALARM");
- return null;
- }
- }
- public int numberOfSubjects() {
- List<Subject> tmp = new List<Subject>();
- tmp = inOrderSubject(management,tmp);
- tmp.toFirst();
- int i = 0;
- while(tmp.hasAccess()) {
- i++;
- tmp.next();
- }
- return i;
- }
- public void addStudent(Student pStudent) {
- if(pStudent != null && studentmanager.search(pStudent) == null) {
- studentmanager.insert(pStudent);
- System.out.println("Student: " + pStudent.getSurname() + " " + pStudent.getForename() + " has been added");
- }
- }
- public Student searchStudent(Student pStudent) {
- if(pStudent != null) {
- return studentmanager.search(pStudent);
- } else {
- return null;
- }
- }
- public void removeStudent(Student pStudent) {
- studentmanager.remove(pStudent);
- System.out.println("Subject: " + pStudent.getSurname() + " " + pStudent.getForename() + " has been removed!");
- }
- public List<Student> getAllStudents() {
- if(!studentmanager.isEmpty()) {
- List<Student> tmp = new List<Student>();
- tmp = inOrderStudent(studentmanager,tmp);
- tmp.toFirst();
- while(tmp.hasAccess()) {
- System.out.println("Subject: " + tmp.getContent().getSurname() + " " + tmp.getContent().getForename()
- + " "); //+ tmp.getContent().getNumberOfSubjects()[].getName());
- tmp.next();
- }
- return tmp;
- } else {
- System.out.println("ALARM");
- return null;
- }
- }
- private List<Student> inOrderStudent(BinarySearchTree<Student> pCurrentTree, List<Student> pList) {
- List<Student> sorted = pList;
- if(!pCurrentTree.isEmpty()) {
- if(!pCurrentTree.getLeftTree().isEmpty()) {
- inOrderStudent(pCurrentTree.getLeftTree(), sorted);
- }
- sorted.append(pCurrentTree.getContent());
- if(!pCurrentTree.getRightTree().isEmpty()) {
- inOrderStudent(pCurrentTree.getRightTree(), sorted);
- }
- }
- return sorted;
- }
- private List<Subject> inOrderSubject(BinarySearchTree<Subject> pCurrentTree, List<Subject> pList) {
- List<Subject> sorted = pList;
- if(!pCurrentTree.isEmpty()) {
- if(!pCurrentTree.getLeftTree().isEmpty()) {
- inOrderSubject(pCurrentTree.getLeftTree(), sorted);
- }
- sorted.append(pCurrentTree.getContent());
- if(!pCurrentTree.getRightTree().isEmpty()) {
- inOrderSubject(pCurrentTree.getRightTree(), sorted);
- }
- }
- return sorted;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement