四舍五入不符合所有预期结果
Rounding does not match all expected results
这个程序一切正常,它符合我的导师要求的所有预期输出,除了输入为 66 和 5000 时
知道测试的输入是 89 , 1024 都匹配正确
但是当我输入 66 和 5000 时,我总是少一加仑 ///
import java.util.Scanner;
import java.lang.Math;
public class CostEstimator {
public static void main(String[] args) {
Scanner scnr = new Scanner(System.in);
double distance = 0.0;
double fuelNeeded = 0.0;
double gallonsFuel = 0;
double costNeeded = 0.0;
final double MILES_PER_LITER = 13.7;
final double LITER_PER_GALLON = 3.785;
final double COST_PER_GALLON = 2.629;
System.out.println("Enter the distance to be covered (miles):");
distance = scnr.nextDouble();
fuelNeeded = distance/13.7 ;
System.out.println("Fuel Needed: " + fuelNeeded + " liter(s)" );
gallonsFuel = Math.round(fuelNeeded/3.785) ;
System.out.println("Gallons needed: " + (int)gallonsFuel + " gallon(s)");
costNeeded = gallonsFuel * 2.629;
System.out.println("Cost needed: " + costNeeded + " $" );
}
}
每个输入的预期输出是这样的
输入66
输入要覆盖的距离(英里):
所需燃料:4.817518248175182 升
所需加仑数:2 加仑
所需费用:5.258 $
输入89
输入要覆盖的距离(英里):
所需燃料:6.496350364963504 升
所需加仑数:2 加仑
所需费用:5.258 $
输入5000
输入要覆盖的距离(英里):
所需燃料:364.9635036496351 升
所需加仑数:97 加仑
所需费用:255.013 $
输入1024
输入要覆盖的距离(英里):
所需燃料:74.74452554744526 升
所需加仑数:20 加仑
所需费用:52.58 $
round
函数四舍五入到最接近的整数,但在为旅行购买燃料时,您可能希望四舍五入。 Double-check问题要求什么,是四舍五入到最接近的整数还是下一个更高的整数?
四舍五入在数学中称为“ceiling”,在Java中称为Math.ceil
。
这个程序一切正常,它符合我的导师要求的所有预期输出,除了输入为 66 和 5000 时 知道测试的输入是 89 , 1024 都匹配正确 但是当我输入 66 和 5000 时,我总是少一加仑 ///
import java.util.Scanner;
import java.lang.Math;
public class CostEstimator {
public static void main(String[] args) {
Scanner scnr = new Scanner(System.in);
double distance = 0.0;
double fuelNeeded = 0.0;
double gallonsFuel = 0;
double costNeeded = 0.0;
final double MILES_PER_LITER = 13.7;
final double LITER_PER_GALLON = 3.785;
final double COST_PER_GALLON = 2.629;
System.out.println("Enter the distance to be covered (miles):");
distance = scnr.nextDouble();
fuelNeeded = distance/13.7 ;
System.out.println("Fuel Needed: " + fuelNeeded + " liter(s)" );
gallonsFuel = Math.round(fuelNeeded/3.785) ;
System.out.println("Gallons needed: " + (int)gallonsFuel + " gallon(s)");
costNeeded = gallonsFuel * 2.629;
System.out.println("Cost needed: " + costNeeded + " $" );
} }
每个输入的预期输出是这样的
输入66
输入要覆盖的距离(英里): 所需燃料:4.817518248175182 升 所需加仑数:2 加仑 所需费用:5.258 $
输入89
输入要覆盖的距离(英里): 所需燃料:6.496350364963504 升 所需加仑数:2 加仑 所需费用:5.258 $
输入5000
输入要覆盖的距离(英里): 所需燃料:364.9635036496351 升 所需加仑数:97 加仑 所需费用:255.013 $
输入1024
输入要覆盖的距离(英里): 所需燃料:74.74452554744526 升 所需加仑数:20 加仑 所需费用:52.58 $
round
函数四舍五入到最接近的整数,但在为旅行购买燃料时,您可能希望四舍五入。 Double-check问题要求什么,是四舍五入到最接近的整数还是下一个更高的整数?
四舍五入在数学中称为“ceiling”,在Java中称为Math.ceil
。