Question
in this assignment, you will edit the program below . do not use an object for this program. import java.util.Scanner; public class Renovation2 { //Variables
in this assignment, you will edit the program below.
do not use an object for this program.
import java.util.Scanner; public class Renovation2 { //Variables private static double paintingCostPerSqFt=1; private static double flooringWithLinoleumTileCost=1;
private static double flooringWithCarpetCost=2;
private static double flooringWithHardwoodCost=3;
private static double flooringWithCeramicTileCost=4;
private static double r_length, r_width, r_height, d_width, d_height ;
private static double door_area = 0;
private static double w_width; //Window1 Width
private static double w_height; //Window1 Height
private static double window_area = 0;
private static double b_width; //Bookshelf Width
private static double b_height; //Bookshelf Height
private static double b_depth; //Bookshelf Depth
private static double self_area = 0;
private static double self_floor_area = 0;
private static int customerPreferenceRenovation1=0;
private static double customerBudgetRenovation1;
private static int customerPreferenceRenovation2=0;
private static double customerBudgetRenovation2;
private static int customerPreferenceRenovation3=0;
private static double customerBudgetRenovation3;
public static void main(String args[]) {
//To get the user input from the console Scanner sc = new Scanner(System.in);
//Carpeting and Painting includes Room, Door and Windows //Getting the measurements from the user for all three - Room, Door, Windows, BookShelf System.out.println("Enter Room length, width and height respectivly :"); r_length = sc.nextDouble(); r_width = sc.nextDouble(); r_height = sc.nextDouble();
//Getting number of Doors System.out.println("Enter number of doors : "); int no_of_door = sc.nextInt(); for(int i = 0;i System.out.println(" Enter Door"+(i+1)+" width and height :"); d_width = sc.nextDouble(); d_height = sc.nextDouble(); door_area = door_area + calculateDoorArea(d_width,d_height); }
//Getting width and height for the first Window System.out.println("Enter how many windows : "); int no_of_window = sc.nextInt(); for(int i = 0;i System.out.println(" Enter window"+(i+1)+"'s width and height :"); w_width = sc.nextDouble(); w_height = sc.nextDouble(); window_area = window_area + calculateWindowArea(w_width,w_height); }
//Getting dimensions of the bookshelf System.out.println("Enter how many Bookshelf : "); int no_of_bself = sc.nextInt(); for(int i = 0;i System.out.println("Enter bookshelf width, height,depth :"); b_width = sc.nextDouble(); b_height = sc.nextDouble(); b_depth = sc.nextDouble(); self_area = self_area + calculateBookShelfArea(b_width,b_height); self_floor_area = self_floor_area + calculateBookShelfFloorArea(b_width,b_depth); }
//Calculate all the Areas double r_area=calculateRoomArea(); double r_floor_area = calculateRoomFloorArea();
//Calculate Total area for painting and carpeting double total_area_painting = r_area - (window_area + door_area + self_area); double total_area_carpeting = r_floor_area - self_floor_area; double total_cost_painting = calculatTotalPaintingCost(total_area_painting);
//assigning number to preferences System.out.println("Flooring Preferences::"); System.out.println("0-Anything is Fine"); System.out.println("1-Ceramic Tile"); System.out.println("2-Hardwood"); System.out.println("3-Carpet"); System.out.println("4-Linoleum Tile");
System.out.println("For Renovation 1 : Please enter the flooring preference as above and also the total budget:"); customerPreferenceRenovation1 = sc.nextInt(); customerBudgetRenovation1 = sc.nextDouble(); String customerPreferenceRenovation1AsText = displayCustomerFlooringPrefAsText(customerPreferenceRenovation1); System.out.println("You have chosen for flooring for Renovation1: "+customerPreferenceRenovation1AsText); System.out.println("Your Expected Budget for Renovation1: "+customerBudgetRenovation1); System.out.println("Our Actual Budget For Painting for Renovation1: "+total_cost_painting); System.out.println("Our Actual Budget For Flooring for Renovation1: "+calculateTotalFlooringCostBasedOnCustomerPreference(customerPreferenceRenovation1,total_area_carpeting)); System.out.println("For Renovation 2 : Please enter the flooring preference as above and also the total budget:"); customerPreferenceRenovation2 = sc.nextInt(); customerBudgetRenovation2 = sc.nextDouble(); String customerPreferenceRenovation2AsText = displayCustomerFlooringPrefAsText(customerPreferenceRenovation2); System.out.println("You have chosen for flooring for Renovation2: "+customerPreferenceRenovation2AsText); System.out.println("Your Expected Budget for Renovation2: "+customerBudgetRenovation2); System.out.println("Our Actual Budget For Painting for Renovation2: "+total_cost_painting); System.out.println("Our Actual Budget For Flooring for Renovation2: "+calculateTotalFlooringCostBasedOnCustomerPreference(customerPreferenceRenovation2,total_area_carpeting)); System.out.println("For Renovation 3 : Please enter the flooring preference as above and also the total budget:"); customerPreferenceRenovation3 = sc.nextInt(); customerBudgetRenovation3 = sc.nextDouble(); String customerPreferenceRenovation3AsText = displayCustomerFlooringPrefAsText(customerPreferenceRenovation3); System.out.println("Your have chosen for flooring for Renovation3: "+customerPreferenceRenovation3AsText); System.out.println("Your Expected Budget for Renovation3: "+customerBudgetRenovation3); System.out.println("Our Actual Budget For Painting for Renovation3: "+total_cost_painting); System.out.println("Our Actual Budget For Flooring for Renovation3: "+calculateTotalFlooringCostBasedOnCustomerPreference(customerPreferenceRenovation3,total_area_carpeting)); System.out.println(total_area_painting + total_area_carpeting); }
//calculating area and returning values public static double calculateRoomArea() { return 2*r_length * r_height + 2 * r_height * r_width + r_length * r_width; } public static double calculateDoorArea(double width,double height) { return height*width; } public static double calculateWindowArea(double width,double height) { return height*width; } public static double calculateBookShelfArea(double width,double height) { return height*width; } public static double calculateBookShelfFloorArea(double width,double depth) { return depth*width; } public static double calculateRoomFloorArea() { return r_length*r_width; } public static double calculatTotalPaintingCost(double totalAreaPainting) { return totalAreaPainting*paintingCostPerSqFt; } public static double calculateTotalFlooringCostBasedOnCustomerPreference(int customerFlooringPreference, double totalAreaCarpeting) { double calculatedFlooringCost; switch(customerFlooringPreference) { case 1: calculatedFlooringCost = calculateTotalCeramicTileFlooringCost(totalAreaCarpeting); //Cost=4$/Sq.ft break; case 2: calculatedFlooringCost = calculateTotalHardwoodFlooringCost(totalAreaCarpeting); //Cost=3$/Sq.ft break; case 3: calculatedFlooringCost = calculateTotalCarpetFlooringCost(totalAreaCarpeting); //Cost=2$/Sq.ft break; case 4: calculatedFlooringCost = calculateTotalLinoleumTileFlooringCost(totalAreaCarpeting); //The least expensive one Cost=1$/Sq.ft break; default: calculatedFlooringCost = calculateTotalCeramicTileFlooringCost(totalAreaCarpeting); //The most expensive one Cost=4$/Sq.ft } return calculatedFlooringCost; } public static double calculateTotalCeramicTileFlooringCost(double totalAreaCarpeting) { return totalAreaCarpeting*flooringWithCeramicTileCost; } public static double calculateTotalHardwoodFlooringCost(double totalAreaCarpeting) { return totalAreaCarpeting*flooringWithHardwoodCost; } public static double calculateTotalCarpetFlooringCost(double totalAreaCarpeting) { return totalAreaCarpeting*flooringWithCarpetCost; } public static double calculateTotalLinoleumTileFlooringCost(double totalAreaCarpeting) { return totalAreaCarpeting*flooringWithLinoleumTileCost; }
//showing preferene if the customer chooses anything(0) public static String displayCustomerFlooringPrefAsText(int flooringPrefNumber) { String flooringPreference ="Anything is fine"; switch(flooringPrefNumber) { case 1: flooringPreference ="Ceramic Tile"; break; case 2: flooringPreference ="Hardwood"; break; case 3: flooringPreference ="Carpet"; break; case 4: flooringPreference ="Linoleum tile"; break; default: flooringPreference ="Anything is fine"; } return flooringPreference; }//end of main }//end of class
*************************************
here is what i have until now. and this is the next assignment.
Put all home works together and use methods to simplify code. Also expand to have preferences and budget for wall coverings the way that was done for floor options
Use separate Methods to calculate the change for area covered for each the Door, Window and Bookcase (Hint you may want to use 2 methods for the book case effects since one is floor and other is wall). Also use method to determine floor covering option and wall covering option.
The user shall input the dimensions of the room and the eventual output will be how the walls and flooring is done and how much budget is left.
The user will input the number of doors, windows, and bookcases and the dimensions of each which will be used to adjust the total wall and floor space needed to be covered. The system will output the square feet of wall and floor after adjustments.
The user will be asked for his budget for the walls and if he has a preference for the type of material for the wall. The system will accept as input the costs for the different wall coverings and determine which wall covering the user can afford being either his preference or the most expensive he can afford if he does not have a preference. Its also possible the user can not afford any wall coverings. The budget left after the wall covering is kept for how much money is left.
The system will output the initial budget for walls, the selected option and cost of what the user can afford and what is left in the budget for walls.
The same process will work for floor coverings with the same output for flooring.
YOU also have COST OPTIONS FOR WALLS, A USER PREFERENCE AND A BUDGET, YOU WILL DO THE SAME FOR THE WALL as floors. SAME RULES APPLY IF 0 THEN JUST PICK MOST EXPENSIVE, IF PREFERENCE GIVE PREFERENCE IF CAN AFFORD, IF NOT GIVE WHAT CAN AFFORD.
There are four options for wall cover (Ceramic Tile = 1; Paneling = 2, Wallpaper = 3; and paint = 4) each with a cost per square foot The program will ask for input and read in the budget in dollars and cents, the cost per square foot for each of the different wall options and also ask for which one the customer prefers where 0 means the customer does not care and 1-4 if they have a specific preference.
Output the users preference, their budget, if they got their preference, and what they did get. Also how much budget is left.
You will be graded on how well you map this to methods and how good the comments are explaining what the program does.
Use the following for data (it is the same as HW 3 so you should get the same selection answers for flooring as you get there.
renovation project (ONE DOOR, 2 WINDOWSS, ONE BOOKSHELF)
o Room is 12.75 feet long, 11.25 feet wide, and 12 feet high
o Door is 1.95 feet wide by 10 feet high
o Window 1 is 2.5 feet wide by 5 feet high
o Window 2 is 6.8 feet wide by 7.2 feet high
o Bookshelf is 8 feet long by 6 feet high by 3 feet deep
There are four options for wall cover (Ceramic Tile = 1; Paneling = 2, Wallpaper = 3; and paint = 4) each with a cost per square foot
For all three test renovation projects use Tile= $4.00 /sq ft; Paneling = $3.00/ sq ft; Wallpaper = $2.00/ sq ft and paint = $1.00/sq ft).
Use the following as the budget and preference:
Renovation 1 | Renovation 2 | Renovation 3 | |
User preference | 0 | 4 | 3 |
Budget | 1200.00 | 250.00 | 6000.00 |
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started