gpt4 book ai didi

java - 第 16 课 - 油耗 - 多类项目

转载 作者:行者123 更新时间:2023-11-29 10:06:13 28 4
gpt4 key购买 nike

~~~更新:已解决!谢谢大家!~~~

我正在研究 Blue Pelican Java 书中的一个项目,第 16 课项目 Gas Mileage。它要求创建两个类,一个是 Automobile,它包含我将使用的方法。另一个类 Tester 是主类。每次我运行 Tester 类时,它都会返回一个值 -Infinity。我不明白为什么,除此之外,我已经指出问题出在 takeTrip 方法第 14 行的 Automobile 类中。当我将该方法排除在 Tester 类之外时,它会返回正确的值。这是汽车类:

public class Automobile
{
public Automobile(double m) // Accepts value m to the double mpg. Also declares
{
double mpg = m;
double gallons;
}
public void fillUp(double f) // Adds fuel to the tank
{
gallons += f;
}
public void takeTrip(double t) // Takes away fuel from the tank depending upon how many miles are driven
{
gallons -= t / mpg; // Not sure how to do this line. For some reason, when I reference mpg, the output of Tester is "-infinity". Shouldn't it do gallons = gallons - (miles driven / mpg)?
}
public double reportFuel() // Returns value of how much fuel is left in tank
{
double r = gallons;
return r;
}
public double mpg;
public double gallons;
}


这是测试类:

public class Tester
{
public static void main(String args[])
{
Automobile myBmw = new Automobile(24); // Passes constructor argument of 24 mpg
myBmw.fillUp(20); // Adds 20 gallons to fillUp method
myBmw.takeTrip(100); // Takes away the fuel used for 100 miles using the takeTrip method
double fuel_left = myBmw.reportFuel(); // Initializes fuel_left to the method reportFuel
System.out.println(fuel_left);
}
}

感谢任何帮助,谢谢!-AJ

最佳答案

您的构造函数不需要“双重”标识符。此处您正在创建一个名为 mpg 的变量,它在构造函数完成后被遗忘。而是使用这个:

public Automobile(double m) // Accepts value m to the double mpg. Also declares
{
mpg = m;
}

关于java - 第 16 课 - 油耗 - 多类项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7544031/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com