Advertisement
emesten

Untitled

Jun 8th, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.24 KB | None | 0 0
  1. import java.util.Calendar;
  2. import java.util.HashMap;
  3. import java.util.Random;
  4.  
  5. class Person {
  6. protected String name;
  7. protected String surname;
  8. protected Calendar birthday;
  9.  
  10. public void setName(String name) {
  11. this.name = name;
  12. }
  13.  
  14. public void setSurname(String surname) {
  15. this.surname = surname;
  16. }
  17.  
  18. public void setBirthday(Calendar date) {
  19. this.birthday = date;
  20. }
  21.  
  22. public String getName() {
  23. return this.name;
  24. }
  25.  
  26. public String getSurname() {
  27. return this.surname;
  28. }
  29.  
  30. public int getAge() {
  31. int year = Calendar.getInstance().get(Calendar.YEAR);
  32. int birthYear = this.birthday.get(Calendar.YEAR);
  33. return year-birthYear;
  34. }
  35. }
  36.  
  37. class Student extends Person {
  38. private HashMap<Subject, Mark> marks = new HashMap<>();
  39.  
  40. public void setMarks(HashMap marks) {
  41. this.marks = marks;
  42. }
  43.  
  44. public HashMap<Subject, Mark> getMarks() {
  45. return this.marks;
  46. }
  47.  
  48. public float getAverage() {
  49. int sum = 0;
  50. for (Mark mark : this.marks.values()) {
  51. sum += mark.getMark();
  52. }
  53. return sum/this.marks.size();
  54. }
  55.  
  56. }
  57.  
  58. class Teacher extends Person {
  59. private Subject firstSubject;
  60. private Subject secondSubject;
  61.  
  62. public void setFirstSubject(Subject firstSubject) {
  63. this.firstSubject = firstSubject;
  64. }
  65.  
  66. public void setSecondSubject(Subject secondSubject) {
  67. this.secondSubject = secondSubject;
  68. }
  69.  
  70. public Subject getFirstSubject() {
  71. return this.firstSubject;
  72. }
  73.  
  74. public Subject getSecondSubject() {
  75. return this.secondSubject;
  76. }
  77. }
  78.  
  79. class Mark {
  80. private Subject subjectName;
  81. private int note;
  82.  
  83. public void setSubject(Subject subject) {
  84. this.subjectName = subject;
  85. }
  86.  
  87. public void setMark(int note) {
  88. this.note = note;
  89. }
  90.  
  91. public Subject getSubject() {
  92. return this.subjectName;
  93. }
  94.  
  95. public int getMark() {
  96. return this.note;
  97. }
  98. }
  99.  
  100. class Subject {
  101. private String name;
  102.  
  103. public void setName(String name) {
  104. this.name = name;
  105. }
  106.  
  107. public String getName() {
  108. return this.name;
  109. }
  110. }
  111.  
  112.  
  113. public class Main {
  114.  
  115. public static void main(String[] args) {
  116. String[] sbjs = new String[]{"Mathematik", "Informatik", "Englisch", "Deutsch", "Religion",
  117. "Wirtschaftslehre", "Gesellschaftslehre", "Physik", "Sport", "Elektrotechnik"};
  118. Subject[] subjects = new Subject[sbjs.length];
  119. for (int i = 0; i < sbjs.length; i++) {
  120. Subject subject = new Subject();
  121. subject.setName(sbjs[i]);
  122. subjects[i] = subject;
  123. }
  124.  
  125. Random rng = new Random();
  126. String[] names = new String[]{"Detlef", "Angelo", "Matheus", "Martin", "Daniel", "Garry", "Merry"};
  127. String[] surnames = new String[]{"Jansen", "Schmidt", "Viernes", "Soplica", "Berg", "Beckes", "McQueen"};
  128.  
  129. Student[] students = new Student[names.length];
  130. for (int i = 0; i < names.length; i++) {
  131. int nr1 = rng.nextInt(names.length);
  132. int nr2 = rng.nextInt(surnames.length);
  133. int year = 1990 + rng.nextInt(12);
  134. int month = rng.nextInt(11);
  135. int day = 1 + rng.nextInt(29);
  136. Calendar birthday = Calendar.getInstance();
  137. birthday.set(year, month, day);
  138. Student student = new Student();
  139. student.setName(names[nr1]);
  140. student.setSurname(surnames[nr2]);
  141. student.setBirthday(birthday);
  142. HashMap<Subject, Mark> marks = new HashMap<>();
  143. for (Subject subject : subjects) {
  144. int mk = 1 + rng.nextInt(5);
  145. Mark mark = new Mark();
  146. mark.setMark(mk);
  147. mark.setSubject(subject);
  148. marks.put(subject, mark);
  149. }
  150. student.setMarks(marks);
  151. students[i] = student;
  152. }
  153.  
  154. String[] namess = new String[]{"Angela", "Michael", "Patrik", "Emil"};
  155. String[] surnamess = new String[]{"Merkel", "Hier", "Smith", "Freitag"};
  156.  
  157. Teacher[] teachers = new Teacher[namess.length];
  158. for (int i = 0; i < namess.length; i++) {
  159. int nr1 = rng.nextInt(namess.length);
  160. int nr2 = rng.nextInt(surnamess.length);
  161. int year = 1960 + rng.nextInt(30);
  162. int month = rng.nextInt(11);
  163. int day = 1 + rng.nextInt(29);
  164. Calendar birthday = Calendar.getInstance();
  165. birthday.set(year, month, day);
  166. Teacher teacher = new Teacher();
  167. teacher.setName(names[nr1]);
  168. teacher.setSurname(surnames[nr2]);
  169. teacher.setBirthday(birthday);
  170. int sub1 = rng.nextInt(subjects.length);
  171. int sub2 = rng.nextInt(subjects.length);
  172. teacher.setFirstSubject(subjects[sub1]);
  173. teacher.setSecondSubject(subjects[sub2]);
  174. teachers[i] = teacher;
  175. }
  176.  
  177. System.out.println("Students: ");
  178. System.out.println();
  179. for (Student student : students) {
  180. System.out.println("Name: "+student.getName());
  181. System.out.println("Surname: "+student.getSurname());
  182. System.out.println("Age: "+student.getAge());
  183. System.out.println("Marks:");
  184. for (Mark mark : student.getMarks().values()) {
  185. System.out.println("\t"+mark.getSubject().getName()+": "+mark.getMark());
  186. }
  187. System.out.println("Average: "+student.getAverage());
  188. System.out.println();
  189. }
  190.  
  191. System.out.println("Teachers: ");
  192. System.out.println();
  193. for (Teacher teacher : teachers) {
  194. System.out.println("Name: "+teacher.getName());
  195. System.out.println("Surname: "+teacher.getSurname());
  196. System.out.println("Age: "+teacher.getAge());
  197. System.out.println("First subject: "+teacher.getFirstSubject().getName());
  198. System.out.println("Second subject: "+teacher.getSecondSubject().getName());
  199. System.out.println();
  200. }
  201.  
  202. }
  203. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement