Java ';Dcoder';练习失败测试用例

Java ';Dcoder';练习失败测试用例,java,Java,因此,我是一名编程初学者,我认为这个简短的练习(见附图)非常简单,但当我提交代码时,它会返回测试用例的结果。我有一个测试用例失败了,我不知道会出什么问题(遗憾的是,你看不到来自该测试用例的输入) 这是我的代码: Scanner sc = new Scanner(System.in); int a = sc.nextInt(); // first distance int m = sc.nextInt(); // fare for distance a int n

因此,我是一名编程初学者,我认为这个简短的练习(见附图)非常简单,但当我提交代码时,它会返回测试用例的结果。我有一个测试用例失败了,我不知道会出什么问题(遗憾的是,你看不到来自该测试用例的输入)

这是我的代码:

    Scanner sc = new Scanner(System.in);

    int a = sc.nextInt(); // first distance
    int m = sc.nextInt(); // fare for distance a
    int n = sc.nextInt(); // fare for remaining distance
    int d = sc.nextInt(); // total distance

    int fare = (a*m)+((d-a)*n);

    System.out.println(fare);
有人能看出这种计算在什么情况下是不正确的吗?看起来很简单,但不知怎么的,我现在想不出解决办法

如果这是相关的,示例输入为:1 2 3 5
给出输出:14

a
不是行驶距离的一部分。这只是一个阈值,计算从一个价格切换到另一个价格。这样说吧:如果
d
小于
a
,司机会开始向客户付款吗?否;)


你应该计算路线第一部分的价格,然后有条件地,如果
d
大于
a
,将路线剩余部分的价格加上。

从问题的措辞来看,我认为第一
a
公里是一个固定价格。
a
不是行驶距离的一部分。这只是一个阈值,计算从一个价格切换到另一个价格。让我们这样说:如果
d
小于
a
,司机会开始向客户付款吗?;)