In: Computer Science
Create an ApartmentException class whose constructor receives a string that holds a street address, an apartment number, a number of bedrooms, and a rent value for an apartment. Upon construction, throw an ApartmentException if any of the following occur: • The apartment number does not consist of 3 digits • The number of bedrooms is less than 1 or more than 4 • The rent is less than $500.00 or over $2500 Write a driver class that demonstrates creating valid Apartment Objects and Invalid Apartment Objects that throw the ApartmentException.
ApartmentException class:
public class ApartmentException extends Exception { public ApartmentException(String msg) { super(msg); } }
Apartment class:
public class Apartment { private String streetAddress; private String apartmentNumber; private int numBedRooms; private double rentValue; public Apartment(String streetAddress, String apartmentNumber, int numBedRooms, double rentValue) throws ApartmentException { if ((apartmentNumber.length() != 3) || (numBedRooms < 1 || numBedRooms > 4) || (rentValue < 500 || rentValue > 2500)) { throw new ApartmentException(streetAddress + " " + apartmentNumber + " " + numBedRooms + " " + rentValue); } this.streetAddress = streetAddress; this.apartmentNumber = apartmentNumber; this.numBedRooms = numBedRooms; this.rentValue = rentValue; } }
Main class:
public class Main { public static void main(String[] args) { // Create some valid and invalid Apartment objects try { Apartment a1 = new Apartment("Wall Street, NY", "112", 3, 2000); } catch (ApartmentException exp) { System.out.println(exp); } try { Apartment a2 = new Apartment("Date Center, NY", "12", 4, 1000); } catch (ApartmentException exp) { System.out.println(exp); } try { Apartment a3 = new Apartment("Downtown Road, NJ", "125", 5, 1500); } catch (ApartmentException exp) { System.out.println(exp); } try { Apartment a4 = new Apartment("Oak City Road, TX", "412", 2, 5000); } catch (ApartmentException exp) { System.out.println(exp); } } }
Output:
Kindly rate the answer and for any help just drop a comment