1. ホーム
  2. java

[解決済み] void を double に変換できない [重複] 。

2022-02-13 23:02:27

質問

もし、どなたかご指摘や解決策を教えていただけると助かります。私は、このコードで自動車のmpg計算機を動かそうとしています。

私のコードを実行すると、以下のようなエラーが発生します。

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);

    }

}

解決方法は?

を変更する必要があります。 takeTrip に変更します。

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

現状では takeTrip は何も返さないので、返り値をdoubleに代入することはできません。