Advertisement
Guest User

Untitled

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