Java,数组对象数据的最大值和最小值?
我需要一些关于最大值和最小值的帮助。此代码部分来自我的年度燃料使用类的主要方法。该计划根据我的汽车至少三次加油量来预测我的年度燃油使用量 我正在计算距离(即行驶英里数)、每加仑汽油的最大值和最小值以及每加仑汽油的价格。从我的print语句(不包括在内)中,我可以看到它正确地计算了max,但它不是min,因为它打印的是我初始化变量时使用的零,而不是真正的最小值 一些代码 还有代码吗Java,数组对象数据的最大值和最小值?,java,arrays,oop,max,min,Java,Arrays,Oop,Max,Min,我需要一些关于最大值和最小值的帮助。此代码部分来自我的年度燃料使用类的主要方法。该计划根据我的汽车至少三次加油量来预测我的年度燃油使用量 我正在计算距离(即行驶英里数)、每加仑汽油的最大值和最小值以及每加仑汽油的价格。从我的print语句(不包括在内)中,我可以看到它正确地计算了max,但它不是min,因为它打印的是我初始化变量时使用的零,而不是真正的最小值 一些代码 还有代码吗 //计算距离、MPG和每加仑价格的最小值和最大值 双重正念=0,最大正念=0; double minMPG=0.0,
//计算距离、MPG和每加仑价格的最小值和最大值
双重正念=0,最大正念=0;
double minMPG=0.0,maxMPG=0.0,minPrice=0.0,maxPrice=0.0;
Double dMin=Double.MAX_值;
Double dMax=Double.MIN_值;
双mpgMin=双最大值;
Double mpgMax=Double.MIN_值;
双倍价格最小值=双倍最大值;
双倍价格最大值=双倍最小值;
for(int i=0;idMin){
dMin=fillUps[i].getDist();
明德主义者=德明;
}
if(fillUps[i].getDist()>dMax){
dMax=fillUps[i].getDist();
maxDist=dMax;
}
if(填充[i].getMilesPerGallon()>mpgMin){
mpgMin=fillUps[i].getMilesPerGallon();
minMPG=mpgMin;
}
如果(填充[i].getMilesPerGallon()>mpgMax){
mpgMax=fillUps[i].getMilesPerGallon();
maxMPG=mpgMax;
}
if(填充[i].getPrice()>priceMin){
priceMin=fillUps[i].getPrice();
minPrice=priceMin;
}
if(填充[i].getPrice()>priceMax){
priceMax=fillUps[i].getPrice();
最高价格=最高价格;
}
}
它为我提供了以下距离、英里/加仑和每加仑价格的数据
最小值:0,0.0,0.00
最大值:300、2.3、3.15
非常感谢您的帮助!!:) 比较以下条件:
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].getDist()
和之间有很大的区别。一旦您解决了这个问题,我建议您将代码发布到[codereview],因为您的代码中有一些地方可以改进。(只需询问“一般评论”)@SimonAndréForsberg是这个网站吗?是的,很抱歉我本应该写[codereview.se]
,而不仅仅是[codereview]
:)@SimonAndréForsberg好的,我会写的!再次感谢:)哦,天哪,我比较错了!非常感谢你,你的解释很有帮助@雷纳斯。没问题,事实上我花了一段时间才发现你的错误:P我建议你把你的代码发布在上面,因为其中有一些东西可以改进/简化。
//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;
}
}
if (fillUps[i].getDist() > dMin){
dMin = fillUps[i].getDist();
minDist = dMin;
}
if (fillUps[i].getDist() > dMax) {
dMax = fillUps[i].getDist();
maxDist = dMax;
}