【发布时间】:2013-12-02 08:14:05
【问题描述】:
我需要一些关于最大值和最小值的帮助。此代码部分来自我的年度燃料使用类的主要方法。该计划根据我的汽车至少加满三次油来预测我的年度燃料使用量。
我正在计算距离(即行驶里程)、MPG 和每加仑价格的最大值和最小值。从我的打印语句(不包括在内)中,我可以看到它正在正确计算最大值,但不是最小值,因为它打印了我将变量初始化为的零,而不是真正的最小值。
一些代码
//initialization of array of objects
AnnualFuelUse[] fillUps = {new AnnualFuelUse (1, 1, 6500, 6800, 9.70, 3.11),
new AnnualFuelUse (2, 10, 6800, 7052, 8.10, 3.08),
new AnnualFuelUse (3, 20, 7052, 7349, 9.20, 3.15)};
更多代码
//calculate Min and Max for distance, MPG, and price per gallon
double minDist = 0, maxDist = 0;
double minMPG = 0.0, maxMPG = 0.0, minPrice = 0.0, maxPrice = 0.0;
Double dMin = Double.MAX_VALUE;
Double dMax = Double.MIN_VALUE;
Double mpgMin = Double.MAX_VALUE;
Double mpgMax = Double.MIN_VALUE;
Double priceMin = Double.MAX_VALUE;
Double priceMax = Double.MIN_VALUE;
for (int i = 0; i < fillUps.length; i++) {
if (fillUps[i].getDist() > dMin){
dMin = fillUps[i].getDist();
minDist = dMin;
}
if (fillUps[i].getDist() > dMax) {
dMax = fillUps[i].getDist();
maxDist = dMax;
}
if (fillUps[i].getMilesPerGallon() > mpgMin) {
mpgMin = fillUps[i].getMilesPerGallon();
minMPG = mpgMin;
}
if (fillUps[i].getMilesPerGallon() > mpgMax) {
mpgMax = fillUps[i].getMilesPerGallon();
maxMPG = mpgMax;
}
if (fillUps[i].getPrice() > priceMin) {
priceMin = fillUps[i].getPrice();
minPrice = priceMin;
}
if (fillUps[i].getPrice() > priceMax) {
priceMax = fillUps[i].getPrice();
maxPrice = priceMax;
}
}
它为我提供了距离、MPG 和 pricePerGallon 的以下数据
最小值:0、0.0、0.00 最大值:300、2.3、3.15
非常感谢任何帮助! :)
【问题讨论】:
-
一旦你解决了这个问题,我建议你在 [codereview] 上发布你的代码,因为你的代码中有几处可以改进。 (只需要求“一般性评论”)
-
@SimonAndréForsberg 是这个网站吗? codereview.stackexchange.com
-
是的,对不起,我应该写
[codereview.se]而不仅仅是[codereview]:) -
@SimonAndréForsberg 好的,我会这样做!再次感谢:)