In Java Create an ApartmentException class whose constructor receives a String t
ID: 3832257 • Letter: I
Question
In Java Create an ApartmentException class whose constructor receives a String that hold a street address, and apartment number, a number of bedrooms, and a rent value for an apartment.
Save the file as ApartmentExeception.Java Create an Apartment class with those fields. The Apartment constructor requires values for each field. Upon construction, throw an ApartmentException
if the aprtment number does not consist of three digits, if the number of bedrooms is less than 1 or more than 4, or if rent is less than $500 or over $2,500. Save the class as Apartment.java.
Write an application that establishes an array of at least six Apartment objects with valid and invalid values. Display an appropriate message when an Apartment object is created successfuly and
when one is not. Save the file as ThrowApartmentException.java.
Explanation / Answer
PROGRAM CODE:
Apartment.java
package array;
public class Apartment {
private String streetAddress;
private int apartmentNumber;
private int bedrooms;
private double rent;
//constructor
public Apartment(String addr, int number, int numbeds, double rentValue) {
setStreetAddress(addr);
setApartmentNumber(number);
setBedrooms(numbeds);
setRent(rentValue);
}
public String getStreetAddress() {
return streetAddress;
}
public void setStreetAddress(String streetAddress) {
this.streetAddress = streetAddress;
}
public int getApartmentNumber() {
return apartmentNumber;
}
public void setApartmentNumber(int apartmentNumber) {
if(apartmentNumber>=100 && apartmentNumber<=999)
this.apartmentNumber = apartmentNumber;
else throw new ApartmentExeception(String.valueOf(apartmentNumber));
}
public int getBedrooms() {
return bedrooms;
}
public void setBedrooms(int bedrooms) {
if(bedrooms<1 || bedrooms>4)
throw new ApartmentExeception(String.valueOf(bedrooms));
else
this.bedrooms = bedrooms;
}
public double getRent() {
return rent;
}
public void setRent(double rent) {
if(rent<500 || rent >2500)
throw new ApartmentExeception(String.valueOf(rent));
else
this.rent = rent;
}
@Override
public String toString() {
// TODO Auto-generated method stub
return "Apartment: " + streetAddress + ", ApartmentNumber=" +apartmentNumber + ", Bedrooms=" + bedrooms + ", Rent=$" + rent;
}
}
ApartmentExeception.java
package array;
public class ApartmentExeception extends RuntimeException{
private String message;
@Override
public String getMessage() {
// TODO Auto-generated method stub
return message;
}
public ApartmentExeception(String message) {
this.message = "Invalid input: " + message;
}
}
ThrowApartmentException.java
package array;
public class ThrowApartmentException {
public static void main(String[] args) {
Apartment apartment[] = new Apartment[6];
System.out.println("Constructing apartment: ");
try
{
apartment[0] = new Apartment("Lincoln Lane", 12, 3, 600);
System.out.println("Apartment created succesfully");
}
catch(ApartmentExeception ae)
{
System.out.println(ae.getMessage());
}
try
{
apartment[1] = new Apartment("Main Lane", 123, 2, 1000);
System.out.println("Apartment created succesfully");
}
catch(ApartmentExeception ae)
{
System.out.println(ae.getMessage());
}
try
{
apartment[2] = new Apartment("Westin Avenue", 145, 5, 1300);
System.out.println("Apartment created succesfully");
}
catch(ApartmentExeception ae)
{
System.out.println(ae.getMessage());
}
try
{
apartment[3] = new Apartment("Phoenix Flyway", 156, 3, 200);
System.out.println("Apartment created succesfully");
}
catch(ApartmentExeception ae)
{
System.out.println(ae.getMessage());
}
try
{
apartment[4] = new Apartment("Cross roads", 133, 3, 1900);
System.out.println("Apartment created succesfully");
}
catch(ApartmentExeception ae)
{
System.out.println(ae.getMessage());
}
try
{
System.out.println("Apartment created succesfully");
apartment[5] = new Apartment("Greems Road", 324, 4, 2100);
}
catch(ApartmentExeception ae)
{
System.out.println(ae.getMessage());
}
System.out.println(" Revealing apartments: ");
for(int i=0; i<6; i++)
{
if(apartment[i] == null)
System.out.println("Apartment not constructed");
else
System.out.println(apartment[i]);
}
}
}
OUTPUT:
Constructing apartment:
Invalid input: 12
Apartment created succesfully
Invalid input: 5
Invalid input: 200.0
Apartment created succesfully
Apartment created succesfully
Revealing apartments:
Apartment not constructed
Apartment: Main Lane, ApartmentNumber=123, Bedrooms=2, Rent=$1000.0
Apartment not constructed
Apartment not constructed
Apartment: Cross roads, ApartmentNumber=133, Bedrooms=3, Rent=$1900.0
Apartment: Greems Road, ApartmentNumber=324, Bedrooms=4, Rent=$2100.0
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.