Advertisement
Guest User

Untitled

a guest
Jul 22nd, 2021
273
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.99 KB | None | 0 0
  1.  
  2. // Problem03. Openning - Java Advanced Retake Exam - 16 December 2020
  3.  
  4.  
  5. package bakery;
  6.  
  7. public class Main {
  8.  
  9. public static void main(String[] args) {
  10. //Initialize the repository
  11. Bakery bakery = new Bakery("Barny", 10);
  12. //Initialize entity
  13. Employee employee = new Employee("Stephen", 40, "Bulgaria");
  14. //Print Employee
  15. System.out.println(employee); //Employee: Stephen, 40 (Bulgaria)
  16.  
  17. //Add Employee
  18. bakery.add(employee);
  19. //Remove Employee
  20. System.out.println(bakery.remove("Employee name")); //false
  21.  
  22. Employee secondEmployee = new Employee("Mark", 34, "UK");
  23.  
  24. //Add Employee
  25. bakery.add(secondEmployee);
  26.  
  27. Employee oldestEmployee = bakery.getOldestEmployee(); // Employee with name Stephen
  28. Employee employeeStephen = bakery.getEmployee("Stephen"); // Employee with name Stephen
  29. System.out.println(oldestEmployee); //Employee: Stephen, 40 (Bulgaria)
  30. System.out.println(employeeStephen); //Employee: Stephen, 40 (Bulgaria)
  31.  
  32. System.out.println(bakery.getCount()); //2
  33.  
  34. System.out.println(bakery.report());
  35. //Employees working at Bakery Barny:
  36. //Employee: Stephen, 40 (Bulgaria)
  37. //Employee: Mark, 34 (UK)
  38.  
  39. }
  40. }
  41. //----------------------------------------------------------------------------
  42. package bakery;
  43.  
  44. public class Employee {
  45. private String name;
  46. private int age;
  47. private String country;
  48.  
  49. public Employee(String name, int age, String country) {
  50. this.name = name;
  51. this.age = age;
  52. this.country = country;
  53. }
  54.  
  55. public String getName() {
  56. return name;
  57. }
  58.  
  59. public int getAge() {
  60. return age;
  61. }
  62.  
  63. @Override
  64. public String toString() {
  65. return String.format("Employee: %s, %d (%s)", name, age, country);// "Employee: {name}, {age} ({country})"
  66. }
  67. }
  68. //----------------------------------------------------------------------------
  69. package bakery;
  70.  
  71. import java.util.ArrayList;
  72. import java.util.List;
  73.  
  74. public class Bakery {
  75. private List<Employee> employees;
  76. private int capacity;
  77. private String name;
  78.  
  79. public Bakery(String name,int capacity) {
  80. this.capacity = capacity;
  81. this.employees = new ArrayList<>();
  82. }
  83.  
  84. public void add(Employee employee) {
  85. if (this.employees.size() < this.capacity) {
  86. this.employees.add(employee);
  87. }
  88. }
  89.  
  90. public boolean remove(String name) {
  91. int index = findEmployeeIndex(name);
  92.  
  93. if (index != -1) {
  94. employees.remove(index);
  95. return true;
  96. }
  97. return false;
  98. }
  99. public Employee getEmployee(String name) {
  100. if (employees.contains(name)) {
  101. return employees.get(findEmployeeIndex(name));
  102. }
  103. else {return null;}
  104. }
  105. public Employee getOldestEmployee() {
  106. String nameOfOldestEmployee = "";
  107. int ageOfOldestEmployee = 0;
  108. Employee oldestEmployee = null;
  109. for (int i = 0;i < employees.size() ;i++) {
  110. if (employees.get(i).getAge() > ageOfOldestEmployee )
  111. {
  112. oldestEmployee = employees.get(i);
  113. }
  114. }
  115. return oldestEmployee;
  116. }
  117.  
  118. private int findEmployeeIndex(String name) {
  119. for (int i = 0; i < this.employees.size(); i++) {
  120. if (this.employees.get(i).getName().equals(name)) {
  121. return i;
  122. }
  123. }
  124. return -1;
  125. }
  126.  
  127. public int getCount() {
  128. return this.employees.size();
  129. }
  130.  
  131. public String report() {
  132. StringBuilder builder = new StringBuilder("Employees working at Bakery " + name +":" + System.lineSeparator());
  133.  
  134. for (Employee employee : employees) {
  135. builder.append(employee.getName().toString());
  136. builder.append(System.lineSeparator());
  137. }
  138. builder.append(System.lineSeparator());
  139. return builder.toString().trim();
  140. }
  141. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement