gpt4 book ai didi

java - 我哪里搞砸了?为什么我的方法返回无穷大?

转载 作者:行者123 更新时间:2023-12-02 08:46:38 25 4
gpt4 key购买 nike

public class Vehicle {
int passengers;
int fuelcap;
int mph;
Vehicle(int p, int f, int m) {
p = passengers;
f = fuelcap;
m = mph;
}
double fuelNeeded (int miles) {
return (double) miles/mph;
}
}
public class STUFF {
public static void main(String[] args) {
Vehicle minivan = new Vehicle(7, 16, 21);
Vehicle sportscar = new Vehicle(2, 14, 12);
double gallons;
int dist = 252;
gallons = minivan.fuelNeeded(dist);
System.out.println(gallons);
gallons = sportscar.fuelNeeded(dist);
System.out.println(gallons);

}
}
Output:
Infinity
Infinity

我现在已经被这个问题困扰了很长时间,我不确定我在哪里搞砸了,但是该方法一直将结果输出为无穷大,如果你们能给我一些关于哪里和哪里的见解,那将会非常有帮助代码怎么错了。非常感谢!!

最佳答案

您正在为局部变量(pfm)分配全局变量的值,但您应该这样做反之亦然:

Vehicle(int p, int f, int m) {
passengers = p;
fuelcap = f;
mph = m;
}

因此,您在 fuelNeeded 中除以 0,结果是 Infinity

关于java - 我哪里搞砸了?为什么我的方法返回无穷大?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61040479/

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