Advertisement
GamexLive

Untitled

Feb 11th, 2021
41
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.71 KB | None | 0 0
  1.  
  2. public class NachhilfeVerwaltung {
  3. private BinarySearchTree<Subject> management;
  4. private BinarySearchTree<Student> studentmanager;
  5.  
  6. public NachhilfeVerwaltung() {
  7. studentmanager = new BinarySearchTree<Student>();
  8. management = new BinarySearchTree<Subject>();
  9. addSubject(new Subject("Mathe"));
  10. addSubject(new Subject("Informatik"));
  11. addSubject(new Subject("Deutsch"));
  12. addSubject(new Subject("Englisch"));
  13. addSubject(new Subject("Religion"));
  14. addSubject(new Subject("Sport"));
  15. }
  16.  
  17. public void addSubject(Subject pSubject) {
  18. if(pSubject != null && management.search(pSubject) == null) {
  19. management.insert(pSubject);
  20. System.out.println("Subject: " + pSubject.getName() + " has been added");
  21. }
  22. }
  23.  
  24. public Subject searchSubject(Subject pSubject) {
  25. if(pSubject != null) {
  26. return management.search(pSubject);
  27. } else {
  28. return null;
  29. }
  30. }
  31.  
  32. public void removeSubject(Subject pSubject) {
  33. management.remove(pSubject);
  34. System.out.println("Subject: " + pSubject.getName() + " has been removed!");
  35. }
  36.  
  37. public List<Subject> getAllSubjects() {
  38. if(!management.isEmpty()) {
  39. List<Subject> tmp = new List<Subject>();
  40. tmp = inOrderSubject(management,tmp);
  41.  
  42. tmp.toFirst();
  43. while(tmp.hasAccess()) {
  44. System.out.println("Subject: " + tmp.getContent().getName());
  45. tmp.next();
  46. }
  47.  
  48. return tmp;
  49. } else {
  50. System.out.println("ALARM");
  51. return null;
  52. }
  53. }
  54.  
  55. public int numberOfSubjects() {
  56. List<Subject> tmp = new List<Subject>();
  57. tmp = inOrderSubject(management,tmp);
  58. tmp.toFirst();
  59. int i = 0;
  60. while(tmp.hasAccess()) {
  61. i++;
  62. tmp.next();
  63. }
  64. return i;
  65. }
  66.  
  67. public void addStudent(Student pStudent) {
  68. if(pStudent != null && studentmanager.search(pStudent) == null) {
  69. studentmanager.insert(pStudent);
  70. System.out.println("Student: " + pStudent.getSurname() + " " + pStudent.getForename() + " has been added");
  71. }
  72. }
  73.  
  74. public Student searchStudent(Student pStudent) {
  75. if(pStudent != null) {
  76. return studentmanager.search(pStudent);
  77. } else {
  78. return null;
  79. }
  80. }
  81.  
  82. public void removeStudent(Student pStudent) {
  83. studentmanager.remove(pStudent);
  84. System.out.println("Subject: " + pStudent.getSurname() + " " + pStudent.getForename() + " has been removed!");
  85. }
  86.  
  87.  
  88. public List<Student> getAllStudents() {
  89. if(!studentmanager.isEmpty()) {
  90. List<Student> tmp = new List<Student>();
  91. tmp = inOrderStudent(studentmanager,tmp);
  92.  
  93. tmp.toFirst();
  94. while(tmp.hasAccess()) {
  95. System.out.println("Subject: " + tmp.getContent().getSurname() + " " + tmp.getContent().getForename()
  96. + " "); //+ tmp.getContent().getNumberOfSubjects()[].getName());
  97. tmp.next();
  98. }
  99.  
  100. return tmp;
  101. } else {
  102. System.out.println("ALARM");
  103. return null;
  104. }
  105. }
  106.  
  107. private List<Student> inOrderStudent(BinarySearchTree<Student> pCurrentTree, List<Student> pList) {
  108. List<Student> sorted = pList;
  109. if(!pCurrentTree.isEmpty()) {
  110. if(!pCurrentTree.getLeftTree().isEmpty()) {
  111. inOrderStudent(pCurrentTree.getLeftTree(), sorted);
  112. }
  113. sorted.append(pCurrentTree.getContent());
  114. if(!pCurrentTree.getRightTree().isEmpty()) {
  115. inOrderStudent(pCurrentTree.getRightTree(), sorted);
  116. }
  117. }
  118. return sorted;
  119. }
  120.  
  121. private List<Subject> inOrderSubject(BinarySearchTree<Subject> pCurrentTree, List<Subject> pList) {
  122. List<Subject> sorted = pList;
  123. if(!pCurrentTree.isEmpty()) {
  124. if(!pCurrentTree.getLeftTree().isEmpty()) {
  125. inOrderSubject(pCurrentTree.getLeftTree(), sorted);
  126. }
  127. sorted.append(pCurrentTree.getContent());
  128. if(!pCurrentTree.getRightTree().isEmpty()) {
  129. inOrderSubject(pCurrentTree.getRightTree(), sorted);
  130. }
  131. }
  132. return sorted;
  133. }
  134.  
  135. }
  136.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement