Advertisement
Guest User

SoftuniParking

a guest
Oct 17th, 2019
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.18 KB | None | 0 0
  1. CAR
  2. package softUniParking;
  3.  
  4. public class Car {
  5. private String make;
  6. private String model;
  7. private int horsePower;
  8. private String registrationNumber;
  9.  
  10. public Car(String make, String model, int horsePower, String registrationNumber) {
  11. this.make = make;
  12. this.model = model;
  13. this.horsePower = horsePower;
  14. this.registrationNumber = registrationNumber;
  15. }
  16.  
  17. public String getMake() {
  18. return this.make;
  19. }
  20.  
  21. public String getModel() {
  22. return this.model;
  23. }
  24.  
  25. public int getHorsePower() {
  26. return this.horsePower;
  27. }
  28.  
  29. public String getRegistrationNumber() {
  30. return this.registrationNumber;
  31. }
  32.  
  33. @Override
  34. public String toString() {
  35. StringBuilder sb = new StringBuilder();
  36. sb.append(String.format("Make: %s\n",this.make));
  37. sb.append(String.format("Model: %s\n",this.model));
  38. sb.append(String.format("HorsePower: %d\n",this.horsePower));
  39. sb.append(String.format("RegistrationNumber: %s",this.registrationNumber));
  40. return sb.toString().trim();
  41. }
  42. }
  43.  
  44. PARKING
  45. package softUniParking;
  46.  
  47. import java.util.HashMap;
  48. import java.util.List;
  49. import java.util.Map;
  50.  
  51.  
  52. public class Parking {
  53. private Map<String, Car> cars;
  54. private int capacity;
  55.  
  56. public Parking(int capacity) {
  57. this.cars = new HashMap<>();
  58. this.capacity = capacity;
  59. }
  60.  
  61.  
  62. public String addCar(Car car) {
  63. if (this.cars.containsKey(car.getRegistrationNumber())) {
  64. return "Car with that registration number, already exists!";
  65.  
  66. } else if (this.cars.size() == this.capacity) {
  67. return "Parking is full!";
  68.  
  69. }
  70. this.cars.putIfAbsent(car.getRegistrationNumber(), car);
  71. return String.format("Successfully added new car %s %s", car.getMake(), car.getRegistrationNumber());
  72. }
  73.  
  74. public String removeCar(String registrationNUmber) {
  75.  
  76. if (!this.cars.containsKey(registrationNUmber)) {
  77. return "Car with that registration number, doesn't exists!";
  78. }
  79. this.cars.remove(registrationNUmber);
  80. return String.format("Successfully removed %s", registrationNUmber);
  81. }
  82.  
  83. public Car getCar(String registrationNUmber) {
  84. return this.cars.get(registrationNUmber);
  85. }
  86.  
  87. public int getCount() {
  88. return this.cars.size();
  89.  
  90. }
  91.  
  92. public void removeSetOfRegistrationNumber(List<String> regNums) {
  93. for (String regNum : regNums) {
  94. this.removeCar(regNum);
  95.  
  96. }
  97. }
  98. }
  99. MAIN
  100. package softUniParking;
  101.  
  102. import java.util.ArrayList;
  103. import java.util.List;
  104.  
  105. public class Main {
  106. public static void main(String[] args) {
  107. //Initialize the Parking
  108. Parking parking = new Parking(5);
  109.  
  110. //Initialize Car
  111. Car car = new Car("Skoda", "Fabia", 65, "CC1856BG");
  112.  
  113. //Initialize second Car object
  114. Car car2 = new Car("Audi", "A3", 110, "EB8787MN");
  115.  
  116. System.out.println(car.toString());
  117. //Make: Skoda
  118. //Model: Fabia
  119. //HorsePower: 65
  120. //RegistrationNumber: CC1856BG
  121.  
  122. System.out.println(parking.addCar(car));
  123. //Successfully added new car Skoda CC1856BG
  124.  
  125. System.out.println(parking.addCar(car));
  126. //Car with that registration number, already exists
  127. System.out.println(parking.addCar(car2));
  128. //Successfully added new car Audi EB8787MN
  129.  
  130. System.out.println(parking.getCar("EB8787MN").toString());
  131. //Make: Audi
  132. //Model: A3
  133. //HorsePower: 110
  134. //RegistrationNumber: EB8787MN
  135.  
  136. System.out.println(parking.removeCar("EB8787MN"));
  137. //Successfullyremoved EB8787MN
  138.  
  139.  
  140.  
  141.  
  142. //Initialize listOfRegistrationNumbers
  143. List<String> regNums = new ArrayList<>();
  144.  
  145. //add two registrationNumbers
  146. regNums.add("EB8787MN");
  147. regNums.add("invalid");
  148.  
  149. // call method removeSetOfRegistrationNumber with our list
  150. parking.removeSetOfRegistrationNumber(regNums);
  151.  
  152. System.out.println(parking.getCount()); //1
  153.  
  154. System.out.println();
  155. }
  156.  
  157. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement