A painting company has determined that for every 100 square feet of wall space, one gallon of paint and eight hours of labor will be required. The company charges $20.00 per hour for labor. Write a program that **allows the user to enter the number of rooms** (10pts) to be painted and the price of the paint per gallon. It should also **ask for the square feet of wall space in each room** (10 pts). The program should have methods that return the following data:

The number of gallons of paint required (15 pts)

The hours of labor required (15 pts)

The cost of the paint (15 pts)

The labor charges (15 pts)

The total cost of the paint job (15 pts)

Then it should display the data on the screen. (5 pts).

package name paint

To receive full credit make sure you display input dialogs and message dialogs and also comment in every significant line of a code.

## Expert Answer

import java.io.*;

import java.util.*;

class RoomPaint {

private int num_rooms; // holding number of rooms

private double area_room[]; // an array holding wall space area of each room

private double paint_price; // price of the paint per gallon

public RoomPaint(int nm, double ar[], double ct){ // Constructor . initializing different members

num_rooms = nm;

area_room = new double[nm];

for (int i = 0; i<nm; i++)

area_room[i] = ar[i];

paint_price = ct;

}

public double getNumberOfGallons(){ // to get number of gallons of paint as 100 sq ft takes one gallon

double sum = 0;

for (int i = 0; i<num_rooms; i++) //adding wall space area of each room to get total area

sum = sum + area_room[i];

return (sum) / 100;

}

public double getLaborHours(){ // to get labor hours as 100 sq ft takes one gallon and it takes 8 hours to complete the job

return getNumberOfGallons() * 8;

}

public double getCostOfPaint(){ // to get the total cost of paint as one gallon charge is paint_price

return getNumberOfGallons() * paint_price;

}

public double getLaborCharges(){ // to get the total labor charge as per hour charge is 20

return getLaborHours() * 20;

}

public double getTotalCostOfPaintJob(){ // This is the sum of total cost of paint and total cost of labor

return (getLaborCharges() + getCostOfPaint());

}

}

public class DemoPaint {

public static void main(String[] args){

int n;

double cost;

Scanner sc = new Scanner(System.in);

System.out.println(“Enter number of rooms:”); // Taking input for number of rooms.

n = sc.nextInt();

double[] area = new double[n];

for (int i = 0; i<n; i++){

System.out.println(“Enter area of a wall space in a room ” + (i+1) + “:”); // Taking input for wall space area for each room

area[i] = sc.nextDouble();

}

System.out.println(“Enter cost of paint per gallon:”); // Taking input for the cost of paint.

cost = sc.nextDouble();

RoomPaint pt = new RoomPaint(n,area,cost);

System.out.println(“The number of gallons of paint required :” +pt.getNumberOfGallons()); // Calculating gallons of paint

System.out.println(“The hours of labor required :”+pt.getLaborHours()); //Calculating Labor hours

System.out.println(“The cost of the paint :”+pt.getCostOfPaint()); //Calculating cost of paint

System.out.println(“The labor charges :”+pt.getLaborCharges()); //Calculating Labor charges

System.out.println(“The total cost of the paint job :”+pt.getTotalCostOfPaintJob()); //Calculating total cost of paint job

}

}