first commit
This commit is contained in:
237
Semester 1/Programming 1/Week 3/Homework 1/House.java
Normal file
237
Semester 1/Programming 1/Week 3/Homework 1/House.java
Normal file
@@ -0,0 +1,237 @@
|
||||
|
||||
/**
|
||||
* This class is an imitation of a house for sale in a real estate business. It allows for the buying, selling and modification of the house.
|
||||
*
|
||||
* @author George Wilkinson
|
||||
* @version 6/10/23
|
||||
*/
|
||||
public class House
|
||||
{
|
||||
// instance variables
|
||||
private String typeOfHouse;
|
||||
private String address;
|
||||
private int initialPurchasePrice;
|
||||
private int purchasePrice;
|
||||
private int homeEnergyRating;
|
||||
private char councilTaxBand;
|
||||
private String owner;
|
||||
private int numberOfOwners;
|
||||
private boolean hasGarage;
|
||||
|
||||
/**
|
||||
* Constructor for objects of class House
|
||||
*/
|
||||
public House( String type, String homeAddress, int initPrice, int energyRating, char taxBand, boolean garage)
|
||||
{
|
||||
// initialise house attriutes
|
||||
typeOfHouse = type;
|
||||
address = homeAddress;
|
||||
initialPurchasePrice = initPrice;
|
||||
homeEnergyRating = energyRating;
|
||||
councilTaxBand = taxBand;
|
||||
hasGarage = garage;
|
||||
|
||||
purchasePrice = 0;
|
||||
owner = "None";
|
||||
numberOfOwners = 0;
|
||||
checkHomeEnergyRating();
|
||||
}
|
||||
|
||||
/**
|
||||
* Simulates changing home efficiency value.
|
||||
* Takes @homeEnergyRating and replaces with a user input value @newHomeEnergyRating, then
|
||||
* prints a confirmation message to the output log.
|
||||
*/
|
||||
|
||||
public void goingGreener( int newHomeEnergyRating )
|
||||
{
|
||||
homeEnergyRating = newHomeEnergyRating; //Update homeEnergyRating variable's value
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the value of @typeOfHouse to the user.
|
||||
*/
|
||||
|
||||
public String getType()
|
||||
{
|
||||
return typeOfHouse;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the value of @address
|
||||
*/
|
||||
|
||||
public String getAddress()
|
||||
{
|
||||
return address;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the value of @initalPurchasePrice
|
||||
*/
|
||||
|
||||
public int getInitialPurchasePrice()
|
||||
{
|
||||
return initialPurchasePrice;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the value of @homeEnergyRating
|
||||
*/
|
||||
public int getEnergyRating()
|
||||
{
|
||||
return homeEnergyRating;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the value of @councilTaxBand
|
||||
*/
|
||||
public char getTaxBand()
|
||||
{
|
||||
return councilTaxBand;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the value of @hasGarage
|
||||
*/
|
||||
public boolean getGarage()
|
||||
{
|
||||
return hasGarage;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the value of @purchasePrice
|
||||
*/
|
||||
public int getPurchasePrice()
|
||||
{
|
||||
return purchasePrice;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the value of @owner
|
||||
*/
|
||||
public String getOwner()
|
||||
{
|
||||
return owner;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the value of @numberOfOwners
|
||||
*/
|
||||
public int getNumberOfOwners()
|
||||
{
|
||||
return numberOfOwners;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set @typeOfHouse to a user-input value
|
||||
*/
|
||||
|
||||
public void setType( String type )
|
||||
{
|
||||
typeOfHouse = type; //Update the type variable's value
|
||||
System.out.println( "Type of this house is now: " + typeOfHouse );
|
||||
}
|
||||
|
||||
/**
|
||||
* Set @address to a user-input value
|
||||
*/
|
||||
|
||||
public void setAddress( String newAddress )
|
||||
{
|
||||
address = newAddress; //Update the address variable's value
|
||||
System.out.println( "Address of this house is now: " + address );
|
||||
}
|
||||
|
||||
/**
|
||||
* Set @councilTaxBand to a user-input value
|
||||
*/
|
||||
|
||||
public void setCouncilTaxBand( char newBand )
|
||||
{
|
||||
councilTaxBand = newBand; //Update the Tax Band variable's value
|
||||
System.out.println( "Council Tax Band of this house is now: " + councilTaxBand );
|
||||
}
|
||||
|
||||
/**
|
||||
* Set @hasGarage to a user-input value
|
||||
*/
|
||||
|
||||
public void setGarage( boolean garage )
|
||||
{
|
||||
hasGarage = garage; //Update the garage variable's value
|
||||
System.out.println( "Garage state of this house is: " + hasGarage );
|
||||
}
|
||||
|
||||
/**
|
||||
* Set @owner to a user-input value
|
||||
*/
|
||||
|
||||
public void setOwner( String newOwner )
|
||||
{
|
||||
owner = newOwner; //Update the owner variable's value
|
||||
System.out.println( "Owner of this house is now: " + owner );
|
||||
}
|
||||
|
||||
/**
|
||||
* Set @purchasePrice to a user-input value
|
||||
*/
|
||||
|
||||
public void setPurchasePrice( int newPurchasePrice )
|
||||
{
|
||||
purchasePrice = newPurchasePrice; //Update the purchasePrice variable's value
|
||||
System.out.println( "House has been purchased for: £" + purchasePrice );
|
||||
}
|
||||
|
||||
/**
|
||||
* Set @numberOfOwners to a user-input value
|
||||
*/
|
||||
public void setNumberOfOwners( int newNumberOfOwners )
|
||||
{
|
||||
numberOfOwners = newNumberOfOwners;
|
||||
System.out.println( "Number of Owners of this house is now: " + numberOfOwners );
|
||||
}
|
||||
|
||||
/**
|
||||
* Print all fields of object for the user.
|
||||
*/
|
||||
|
||||
public void printDetails()
|
||||
{
|
||||
System.out.println( "House type: " + typeOfHouse );
|
||||
System.out.println( "Address: " + address );
|
||||
System.out.println( "Original purchase price in pounds: " + initialPurchasePrice );
|
||||
System.out.println( "Current price in pounds: " + purchasePrice );
|
||||
System.out.println( "Home energy rating: " + homeEnergyRating );
|
||||
System.out.println( "Council Tax Band: " + councilTaxBand );
|
||||
System.out.println( "Number of owners to date: " + numberOfOwners );
|
||||
System.out.println( "Current owner: " + owner );
|
||||
}
|
||||
|
||||
/**
|
||||
* Print to log when @homeEnergyRating is above or below a threshold of 3.
|
||||
*/
|
||||
|
||||
public void checkHomeEnergyRating()
|
||||
{
|
||||
if( homeEnergyRating < 3 )
|
||||
{
|
||||
System.out.println( "Be aware that extra green taxes may be imposed on this house" );
|
||||
}
|
||||
else
|
||||
{
|
||||
System.out.println( "This house will not be subject to extra taxes" );
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Simulates selling the house by calling the setOwner() and setPurchasePrice() methods.
|
||||
*/
|
||||
|
||||
public void sell( String newOwner, int newPurchasePrice )
|
||||
{
|
||||
setOwner( newOwner ); //Call the setOwner method to set the purchaser's name
|
||||
setPurchasePrice( newPurchasePrice ); //Call the setPurchasePrice method to set the buy price of the house after it is sold.
|
||||
setNumberOfOwners( numberOfOwners + 1 ); //Call the setNumberOfOwners mutator to increment the owner count after selling.
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user