Overview
For this assignment, you will generate a UML class diagram for a class and implement it.
Assignment
House and BuildingCostEstimator classes
Study the following program. It makes use of a
BuildingCostEstimator
class. You will need to
implement the BuildingCostEstimator
class so that
the program functions properly.
import java.util.Scanner; /** * @author Dr. Chris Taylor * @version 2015.10.07 * * Makes use of the BuildingCostEstimator class to estimate the * cost of building a house based on the user's desires. */ public class House { public static void main(String[] args) { Scanner in = new Scanner(System.in); BuildingCostEstimator estimator = new BuildingCostEstimator(); System.out.println("This program will help you estimate the " + "cost of building a house."); System.out.println("For your desired house:"); System.out.print("Enter the total number of square feet: "); int sqFeet = in.nextInt(); estimator.setSquareFeet(sqFeet); System.out.print("Enter the number of full bathrooms: "); int numFullBaths = in.nextInt(); estimator.setNumFullBaths(numFullBaths); System.out.print("Enter the number of half bathrooms: "); int numHalfBaths = in.nextInt(); estimator.setNumHalfBaths(numHalfBaths); System.out.print("Enter the number of bedrooms: "); int numBeds = in.nextInt(); estimator.setNumBedrooms(numBeds); System.out.print("Enter the number of windows: "); int numWindows = in.nextInt(); estimator.setNumWindows(numWindows); System.out.print("Enter the number of garage spaces (e.g., 2.5): "); estimator.setNumGarages(in.nextDouble()); if(estimator.getNumGarages()<2.0) { System.out.println("We are in Wisconsin."); System.out.println("Perhaps you should reconsider the number of garage stalls."); System.out.print("Enter the number of garage spaces (e.g., 2.5): "); estimator.setNumGarages(in.nextDouble()); } // Display characteristics and cost of the house System.out.print("The cost of building this house with "); System.out.printf("%d full baths, %d half baths,\n", estimator.getNumFullBaths(), estimator.getNumHalfBaths()); System.out.printf("%d bedrooms, %d windows,\n", estimator.getNumBedrooms(), estimator.getNumWindows()); System.out.printf("with a %f car garage and taking ", estimator.getNumGarages()); System.out.printf("up %d square feet\n", estimator.getSquareFeet()); System.out.printf("will take $%.2f to build.", estimator.costToBuild()); } }
The cost of the home should be based on the following calculation:
- Based cost per square foot of the house: $130
- Add $15,000 for each full bathroom
- Add $7,000 for each half bathroom
- Add $3,000 for each bedroom
- Add $800 for each window
- Add $8,000 for each garage stall
UML Diagram
You must generate a UML class diagram for the BuildingCostEstimator
class.
Lab Deliverables
See Dr. Rebenistch for instructions
Dr. Taylor's class: See below
See Prof. Ung for instructions
Dr. Yoder's submission instructions
Acknowledgement
This laboratory assignment was developed by Dr. Chris Taylor.