In this activity, you will revisit the Paint program from Module Six. Your original program calculated the amount of paint needed, but depending on the width and height, that value could be a long decimal. Your program will better suit the needs of the user if it can calculate the number of cans needed as an integer value. For example, given that 1 gallon = 1 can of paint, we might expect the Paint program from Module Six to output:
Paint needed: 2.142857142857143 gallons
Cans needed: 3.0 can(s)
You might at first think that you could just cast the gallonsPaintNeeded variable from a double to an integer type. However, that would merely cut off the decimal portion of the value, resulting in an underestimate of the number of cans needed. You might also consider rounding the number, but that would not work for the sample output provided above since normal rounding rules would suggest 2.0 cans, an underestimate. So, the computational problem you are faced with is to calculate the number of cans and round up to the nearest whole number. In order to determine if that method for rounding up exists as part of one of Java’s core classes, we need to consult the documentation. There might be a single method that we can use or we might have to use more than one method.
For this assignment, you will complete the Paint program by adding code that calculates the number of cans of paint needed. Use the Uploading Files to Eclipse and the Downloading Files From Eclipse tutorials to help you with this project.
- Consult the official Java documentation for the Math class.
- Scroll to the Method Summary section of the Math class and review the methods and their descriptions. Look for a method that will help you.
- If a method looks promising, click on its name to see a more detailed description. Pay special attention to the argument(s) and the data type of the return value.
- Based on your review, select one or more methods from the Math class to use in your solution.
- When using a method from the Math class, use the syntax Math.methodname() when you implement the method. For example, if you decided to use the absolute value method, you would write something like: Math.abs().
- Open the Virtual Lab by clicking on the link in the Virtual Lab Access module. Then open your IDE and upload the Paint2.zip folder. Review the code for the Paint2.java class. Look for where it says //Complete this code block. Make sure the code you write does the following:
- Calculates the number of paint cans needed to paint the wall
- Rounds up to the nearest integer (use the test cases below to check your work)
- Outputs the number of cans needed for the user