Advertisement
Guest User

71 problem

a guest
Jan 20th, 2020
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.86 KB | None | 0 0
  1.  
  2. /*
  3. * File: practice.java
  4. * Name:
  5. * Section Leader:
  6. * --------------------
  7. * This file is the starter file for the Hailstone problem.
  8. */
  9.  
  10. import acm.graphics.GCanvas;
  11. import acm.graphics.GLabel;
  12. import acm.graphics.GLine;
  13. import acm.program.*;
  14. import java.util.*;
  15. import java.awt.event.*;
  16. import javax.swing.*;
  17.  
  18. public class Practice extends GraphicsProgram {
  19. public Practice() {
  20.  
  21. }
  22.  
  23. public void addTeacher(String teacher) {
  24. teachers.add(teacher);
  25. }
  26.  
  27. public void addSubject(String teacher, String subject) {
  28. if (teachers.contains(teacher)) {
  29. ArrayList<String> sub;
  30. sub = Tsubjects.get(teacher);
  31. sub.add(subject);
  32. Tsubjects.put(teacher,sub);
  33.  
  34. ArrayList<String> teach;
  35. teach = Steachers.get(subject);
  36. teach.add(teacher);
  37. Steachers.put(subject, teach);
  38. }
  39. }
  40.  
  41. public void addPupil(String pupil, String subject) {
  42. if (pupils.contains(pupil)) {
  43. pupils.add(pupil);
  44. ArrayList<String> pup;
  45. pup = Spupils.get(subject);
  46. pup.add(pupil);
  47. Spupils.put(subject,pup);
  48.  
  49.  
  50. ArrayList<String> sub;
  51. sub = Psubjects.get(pupil);
  52. sub.add(subject);
  53. Psubjects.put(pupil,sub);
  54. }
  55. }
  56.  
  57. public Iterator<String> getTeachers(String pupil) {
  58. if (pupils.contains(pupil)) {
  59. ArrayList <String> temp;
  60. ArrayList <String> answer = new ArrayList <String>();
  61. temp=Psubjects.get(pupil);
  62. for (int i=0;i<temp.size();i++) {
  63. if (Steachers.get(temp.get(i))!=null) {
  64. mergeArr(answer,Steachers.get(temp.get(i)));
  65. }
  66. }
  67. for (int i=0;i<answer.size();i++) {
  68. if (!teachers.contains(answer.get(i))) {
  69. answer.remove(i);
  70. }
  71. }
  72. return answer.iterator();
  73. }
  74. return null;
  75. }
  76.  
  77. private void mergeArr (ArrayList a,ArrayList b) {
  78. for (int i=0;i<b.size();i++) {
  79. if (!a.contains(b.get(i))) {
  80. a.add(b.get(i));
  81. }
  82. }
  83. }
  84. public Iterator<String> getPupils(String teacher) {
  85. if (teachers.contains(teacher)) {
  86. ArrayList <String> temp;
  87. ArrayList <String> answer = new ArrayList <String>();
  88. temp=Tsubjects.get(teacher);
  89. for (int i=0;i<temp.size();i++) {
  90. if (Spupils.get(temp.get(i))!=null) {
  91. mergeArr(answer,Spupils.get(temp.get(i)));
  92. }
  93. }
  94. return answer.iterator();
  95. }
  96. return null;
  97. }
  98.  
  99. public void removeTeacher(String teacher) {
  100. for (int i=0;i<teachers.size();i++) {
  101. if (teachers.get(i).equals(teacher)) {
  102. teachers.remove(i);
  103. }
  104. }
  105. Tsubjects.remove(teacher);
  106.  
  107. }
  108. ArrayList <String> teachers;
  109. Map < String,ArrayList<String> > Tsubjects = new HashMap < String,ArrayList<String> >();
  110. ArrayList <String> pupils;
  111. Map < String,ArrayList<String> > Spupils = new HashMap < String,ArrayList<String> >();
  112. Map < String,ArrayList<String> > Psubjects = new HashMap < String,ArrayList<String> >();
  113. Map < String,ArrayList<String> > Steachers = new HashMap < String,ArrayList<String> >();
  114. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement