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.