<< Back to Object Oriented Programming Portfolio
Parking Garage Assignment
Car class
public class Car
{
private String licensePlate;
private String brand;
private String color;
public Car(String licensePlate, String brand, String color)
{
this.licensePlate = licensePlate;
this.brand = brand;
this.color = color;
}
public String getLicensePlate()
{
return this.licensePlate;
}
public String getBrand()
{
return this.brand;
}
public String getColor()
{
return this.color;
}
public void setLicensePlate(String licensePlate)
{
this.licensePlate = licensePlate;
}
public void setBrand(String brand)
{
this.brand = brand;
}
public void setColor(String Color)
{
this.color = color;
}
}
ParkingGarage class
import java.util.ArrayList;
public class ParkingGarage
{
private String name;
private String address;
private int capacity;
private ArrayList<Car> cars;
public ParkingGarage(String name, String address, int capacity)
{
this.name = name;
this.address = address;
this.capacity = capacity;
this.cars = new ArrayList<>();
}
public boolean isValidLicensePlate(String licensePlate)
{
return licensePlate.matches("[A-Z0-9]{2}-[A-Z0-9]{2}-[A-Z0-9]{2}");
}
public void addCar(Car car)
{
if (this.cars.size() < this.capacity && isValidLicensePlate(car.getLicensePlate()))
{
this.cars.add(car);
}
else
{
System.out.println("The parking garage is full or Invalid license plate.");
}
}
public int getAmountOfWhiteCars()
{
int count = 0;
for (Car car : this.cars)
{
if (car.getColor().equals("white"))
{
count++;
}
}
return count;
}
public int getAmountOfCarByBrand(String brand)
{
int count = 0;
for (Car car : this.cars)
{
if (car.getBrand().equals(brand))
{
count++;
}
}
return count;
}
public boolean exit(Car car)
{
return this.cars.remove(car);
}
public String getName()
{
return this.name;
}
public String getAddress()
{
return this.address;
}
public int getCapacity()
{
return this.capacity;
}
public void setName(String name)
{
this.name = name;
}
public void setAddress(String address)
{
this.address = address;
}
public void setCapacity(int capacity)
{
this.capacity = capacity;
}
}