Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何解决这个逻辑错误(初学者)?_Java_If Statement_Runtime Error_Bluej - Fatal编程技术网

Java 如何解决这个逻辑错误(初学者)?

Java 如何解决这个逻辑错误(初学者)?,java,if-statement,runtime-error,bluej,Java,If Statement,Runtime Error,Bluej,我正在学习Java编程入门,我有以下作业。我认为我的代码是正确的,但我得到了错误的答案。我需要找到每辆车的总成本,然后“买”更便宜的一辆。假设我正在行驶50000英里: 燃料费=4美元 行驶里程=50000 1号车的购买价格=15000美元 2号车的购买价格=30000美元 车辆1的Mpg=10 车辆2的Mpg=50 汽油成本=(每加仑行驶英里数)*燃料成本 总成本=采购价格+天然气成本 这是我的代码: public class Test { public static void m

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

  • 燃料费=4美元
  • 行驶里程=50000
  • 1号车的购买价格=15000美元
  • 2号车的购买价格=30000美元
  • 车辆1的Mpg=10
  • 车辆2的Mpg=50
汽油成本=(每加仑行驶英里数)*燃料成本

总成本=采购价格+天然气成本

这是我的代码:

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
    }
}
公共类测试
{
公共静态void main(字符串[]args)
{
int milesDriven=50000;
int-mpg1=10;
int-mpg2=50;
int价格每加仑=4;
int purchasePrice1=15000;
int purchasePrice2=30000;
国际汽油成本4car1=(英里/加仑)*每加仑价格;
国际汽油成本4car2=(英里/加仑)*每加仑价格;
int total4Car1=(采购价格1+汽油成本4CAR1);
int total4Car2=(采购价格2+汽油成本4CAR2);
如果(total4Car1
我得到的输出是34000 我相信1号车的产量应该是35000辆 2号车的产量应该是34000辆 我不明白我得到了错误的答案。 注意:我不能发布图片(出于声誉原因)或视频,但如果需要,我愿意提供这些信息。
谢谢。

问题出在这条线上:

System.out.println(total4Car1 + gasCost4Car1);
total4Car1
已包括
gasCost4Car1


这里有一个打印
34000

total4car1不小于total4car2,因此它打印汽车2的总计,即
purchaseprice2+gascost4car2
,然后在
System.out.println(purchaseprice2+gascost4car2);//只需查看汽车2的输出即可
。应该输出什么?

稍微清理一下,给出正确的结果:

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;

    System.out.println("Total car 1: " + total4Car1);
    System.out.println("Total car 2: " + total4Car2);

    if (total4Car1 < total4Car2) {
        System.out.println("Car 1 is cheaper: " + total4Car1);
    } else {
        System.out.println("Car 2 is cheaper: " + total4Car2);
    }
}
publicstaticvoidmain(字符串[]args){
int milesDriven=50000;
int-mpg1=10;
int-mpg2=50;
int价格每加仑=4;
int purchasePrice1=15000;
int purchasePrice2=30000;
int gasCost4Car1=行驶里程/mpg1*每加仑价格;
int gasCost4Car2=行驶里程/mpg2*每加仑价格;
int total4Car1=采购价格1+汽油成本4CAR1;
int total4Car2=采购价格2+汽油成本4CAR2;
System.out.println(“总车辆1:+total4Car1”);
System.out.println(“总车辆2:+total4Car2”);
如果(total4Car1