Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package softUniParking;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Scanner;
- public class Main {
- public static void main(String[] args) {
- Scanner scanner = new Scanner(System.in);
- Parking parking = new Parking(3);
- Car audi = new Car("Audi", "A8",2000,"03-230-GA");
- Car passat = new Car("Passat", "5",2000,"04-150-FA");
- Car bmw = new Car("BMW", "M3",1800,"04-150-FA");
- Car mercedes = new Car("Mercedes", "D",2500,"04-000-CD");
- System.out.println(audi.toString());
- System.out.println(parking.addCar(passat));
- System.out.println(parking.addCar(audi));
- System.out.println(parking.addCar(bmw));
- System.out.println(parking.addCar(mercedes));
- System.out.println(parking.removeCar("03-230-GA"));
- System.out.println(parking.removeCar("invalid"));
- System.out.println(parking.getCar("03-230-GA".toString()));
- List<String> regNums = new ArrayList<>();
- regNums.add("03-230-GA");
- regNums.add("04-150-FA");
- regNums.add("invalid");
- parking.removeSetOfRegistrationNumber(regNums);
- System.out.println(parking.getCount());
- }
- }
- 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 getMake() {
- return this.make;
- }
- public String getModel() {
- return this.model;
- }
- public int getHorsePower() {
- return this.horsePower;
- }
- public String getRegistrationNumber() {
- return this.registrationNumber;
- }
- @Override
- public String toString() {
- return String.format("Make: %s%n" +
- "Model: %s%n" +
- "HorsePower: %d%n" +
- "RegistrationNumber: %s",
- this.getMake(),
- this.getModel(),
- this.getHorsePower(),
- this.getRegistrationNumber()
- );
- }
- }
- package softUniParking;
- import java.util.LinkedHashMap;
- import java.util.List;
- import java.util.Map;
- public class Parking {
- private Map<String, Car> cars;
- private int capacity;
- public Parking(int capacity) {
- this.cars = new LinkedHashMap<>();
- this.capacity = capacity;
- }
- public String addCar(Car car) {
- if (cars.size() >= capacity) {
- return "Parking is full!";
- } else if (!cars.containsKey(car.getRegistrationNumber())) {
- cars.put(car.getRegistrationNumber(), car);
- return String.format("Successfully added new car %s %s", car.getMake(), car.getRegistrationNumber());
- } else {
- return "Car with that registration number, already exists!";
- }
- }
- public String removeCar(String registrationNumber) {
- if (!this.cars.containsKey(registrationNumber)) {
- return "Car with that registration number, doesn't exists!";
- } else {
- return String.format("Successfully removed %s", registrationNumber);
- }
- }
- public Car getCar(String registrationNumber) {
- return cars.get(registrationNumber);
- }
- public void removeSetOfRegistrationNumber(List<String> registrationNumbers) {
- for (String regNum : registrationNumbers) {
- if (this.cars.containsKey(regNum)) {
- this.cars.remove(regNum);
- }
- }
- }
- public int getCount() {
- return this.cars.size();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment