Я не могу понять формат math.ceil или math.round при округлении до более высокого целого числа - PullRequest
0 голосов
/ 10 июля 2019

Какая математическая функция лучше всего подходит для округления пользовательского ввода до следующего целого числа и как она должна быть отформатирована?

Я пробовал и 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)
...