Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package softUniParking;
- public class Car {
- private String make;
- private String model;
- private int horsePower;
- private String registrationNumber;
- public Car(String make, String model, int horsePower, String registrationNumber) {
- this.make = make;
- this.model = model;
- this.horsePower = horsePower;
- this.registrationNumber = registrationNumber;
- }
- public String getModel() {
- return model;
- }
- public int getHorsePower() {
- return horsePower;
- }
- public String getMake() {
- return this.make;
- }
- public String getRegistrationNumber() {
- return this.registrationNumber;
- }
- @Override
- public String toString() {
- return String.format("Make: "+this.make+"%n"+
- "Model: "+this.model+"%n"+
- "HorsePower: "+this.horsePower+"%n"+
- "RegistrationNumber: "+this.registrationNumber);
- }
- }
- package softUniParking;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- public class Parking {
- private Map<String,Car> parking;
- private int capacity;
- public Parking(int capacity) {
- parking=new HashMap<>();
- this.capacity = capacity;
- }
- public String addCar(Car car) {
- if(this.parking.containsKey(car.getRegistrationNumber())) {
- return "Car with that registration number, already exists!";
- } else if(this.parking.size()==this.capacity) {
- return "Parking is full!";
- }
- this.parking.putIfAbsent(car.getRegistrationNumber(),car);
- return "Successfully added new car " +car.getMake() +" "+car.getRegistrationNumber();
- }
- public String removeCar(String registrationNumber) {
- if(!this.parking.containsKey(registrationNumber)) {
- return "Car with that registration number, doesn't exists!";
- }
- this.parking.remove(registrationNumber);
- return "Successfully removed "+registrationNumber;
- }
- public Car getCar(String registrationNumber) {
- return this.parking.get(registrationNumber);
- }
- public void removeSetOfRegistrationNumber(List<String> registrationNumbers) {
- for (String registrationNumber : registrationNumbers) {
- this.removeCar(registrationNumber);
- }
- }
- public int getCount() {
- return this.parking.size();
- }
- }
- package softUniParking;
- import java.util.ArrayList;
- import java.util.List;
- public class Main {
- public static void main(String[] args) {
- //Initialize the Parking
- Parking parking = new Parking(5);
- //Initialize Car
- Car car = new Car("Skoda", "Fabia", 65, "CC1856BG");
- //Initialize second Car object
- Car car2 = new Car("Audi", "A3", 110, "EB8787MN");
- System.out.println(car.toString());
- //Make: Skoda
- //Model: Fabia
- //HorsePower: 65
- //RegistrationNumber: CC1856BG
- System.out.println(parking.addCar(car));
- //Successfully added new car Skoda CC1856BG
- System.out.println(parking.addCar(car));
- //Car with that registration number, already exists!
- System.out.println(parking.addCar(car2));
- //Successfully added new car Audi EB8787MN
- System.out.println(parking.getCar("EB8787MN").toString());
- //Make: Audi
- //Model: A3
- //HorsePower: 110
- //RegistrationNumber: EB8787MN
- System.out.println(parking.removeCar("EB8787MN"));
- //Successfullyremoved EB8787MN
- System.out.println(parking.getCount()); //1
- //Initialize listOfRegistrationNumbers
- List<String> regNums = new ArrayList<>();
- //add two registrationNumbers
- regNums.add("EB8787MN");
- regNums.add("invalid");
- // call method removeSetOfRegistrationNumber with our list
- parking.removeSetOfRegistrationNumber(regNums);
- System.out.println(parking.getCount()); //1
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement