Какая математическая функция лучше всего подходит для округления пользовательского ввода до следующего целого числа и как она должна быть отформатирована?
Я пробовал и math.ceil, и math.round, но я мог получить форматнеправильное и лучшее расположение в коде для округления до следующего целого числа.
package paintestimator;
import java.util.Scanner;
import java.lang.Math; // Note: Needed for math functions
public class PaintEstimator {
public static void main(String[] args) {
Scanner scnr = new Scanner(System.in);
double wallHeight = 0.0;
double wallWidth = 0.0;
double wallArea = 0.0;
double gallonsPaintNeeded = 0.0;
int cansNeeded = 0;
final double squareFeetPerGallons = 350.0;
final double gallonsPerCan = 1.0;
gallonsPaintNeeded = wallArea / squareFeetPerGallons;
System.out.println("Paint needed: " + gallonsPaintNeeded + " gallons");
// Calculate and output the number of 1 gallon cans needed to paint the wall, rounded up to nearest integer
cansNeeded = (int) (gallonsPaintNeeded / gallonsPerCan); //Hint: this line is missing two operations
System.out.println("Cans needed: " + cansNeeded + " can(s)");
}
}
Вывод отличается.
Input
12
15
Your output
Enter wall height (feet):
Enter wall width (feet):
Wall area: 180.0 square feet
Paint needed: 0.5142857142857142 gallons
Cans needed: 0 can(s)
Expected output
Enter wall height (feet):
Enter wall width (feet):
Wall area: 180.0 square feet
Paint needed: 0.5142857142857142 gallons
Cans needed: 1 can(s)