无法转换无效翻一番[复制]

问题描述 投票:-1回答:2

这个问题已经在这里有一个答案:

如果任何人都可以给我一些指点,或将是巨大的解决方案。我; M试图让代码运行的汽车省油计算器

当我运行我的代码我得到一个错误,如下所示:

U:\gasProj.java:32: error: incompatible types: void cannot be converted   to double
        fuelLeft=bmw.takeTrip(100);

这里是我的代码。

public class gasProj{
public static class Automobile{
    double mpg=0;
    Automobile(double a)
    {
        mpg=a;
    }

    private double fuel=0.0;
    public void fillup(double gas)
    {
        fuel=fuel+gas;
    }


    public void takeTrip(double miles)
    {
        fuel=fuel-miles/mpg;
    }

    public double printFuel()
    {
        System.out.println(fuel);
    }
}


    public static void main(String[]args){
        Automobile bmw=new Automobile(24);
        bmw.fillup(20);
        double fuelLeft;
        fuelLeft=bmw.takeTrip(100);

    }

}
java double converter void
2个回答
2
投票

您需要takeTrip更改为:

public double takeTrip(double miles)
{
    fuel=fuel-miles/mpg;
    return fuel;
}

目前,takeTrip不返回任何东西,所以你不能指定返回值的两倍。


1
投票

takeTrip()返回void,这意味着它没有返回值的方法。为了分配到fuelLeft,你需要另一个方法返回fuel变量的值。

public double getFuel(){
  return fuel;
}

现在,fuelLeft将有一个有效的价值。

fuelLeft = bmw.getFuel();
© www.soinside.com 2019 - 2024. All rights reserved.