我正在介绍Java编程,我有以下作业。我认为我的代码是正确的,但是我得到了错误的答案。我需要找到每辆车的总成本,然后“购买”便宜的一辆。假设我正在行驶50000英里:


燃油费= $ 4
行驶里程= 50000
汽车1的购买价格= $ 15000
汽车2的购买价格= $ 30000
汽车1的Mpg = 10
汽车2的Mpg = 50


汽油成本=(行驶里程/ Mpg)*燃油成本

总成本=购买价格+燃气成本

这是我的代码:

public class Test
{
    public static void main(String[] args)
    {
        int milesDriven = 50000;
        int mpg1 = 10;
        int mpg2 = 50;
        int pricePerGallon = 4;
        int purchasePrice1 = 15000;
        int purchasePrice2 = 30000;
        int gasCost4Car1 = (milesDriven / mpg1) * pricePerGallon;
        int gasCost4Car2 = (milesDriven / mpg2) * pricePerGallon;
        int total4Car1 = (purchasePrice1 + gasCost4Car1);
        int total4Car2 = (purchasePrice2 + gasCost4Car2);

        if(total4Car1 < total4Car2)
        {
            System.out.println(total4Car1 + gasCost4Car1);
        }
            else
            {
            System.out.println(purchasePrice2 + gasCost4Car2);
        }

       System.out.println(purchasePrice2 + gasCost4Car2); // just to see the output for car 2
    }
}


我得到的输出是34000
而且我相信对于汽车1的输出应该是35000
汽车2的输出应为34000
我不明白我得到了错误的答案。
注意:我不能发布图片(出于声誉原因)也不能发布视频,但是如果需要,我愿意提供该信息。
谢谢。

最佳答案

问题在这条线上:

System.out.println(total4Car1 + gasCost4Car1);


total4Car1已包含gasCost4Car1

这是demo on ideone打印34000

10-06 04:33