Android 确定5个双精度值中的最高双精度值
我开发了一个手势应用程序。为此,我需要绘制手势的最高得分值 所以我得到了5个不同的双倍分值,如下所示:Android 确定5个双精度值中的最高双精度值,android,Android,我开发了一个手势应用程序。为此,我需要绘制手势的最高得分值 所以我得到了5个不同的双倍分值,如下所示: 06-04 00:38:34.605 21423-21423/de.gestureanywhere D/score﹕ score 3.6936744465393905|GOF2 06-04 00:38:34.605 21423-21423/de.gestureanywhere D/score﹕ score 2.021340609760623|Uhr 06-04 00:38:34.610
06-04 00:38:34.605 21423-21423/de.gestureanywhere D/score﹕ score 3.6936744465393905|GOF2
06-04 00:38:34.605 21423-21423/de.gestureanywhere D/score﹕ score 2.021340609760623|Uhr
06-04 00:38:34.610 21423-21423/de.gestureanywhere D/score﹕ score 1.942381354120031|Spare Parts
06-04 00:38:34.610 21423-21423/de.gestureanywhere D/score﹕ score 1.1174127455877019|Screenshot Leicht
06-04 00:38:34.610 21423-21423/de.gestureanywhere D/score﹕ score 1.025620059028788|Shell
如何以编程方式获得这些值的最高双倍值prediction.score
(在本例中为3.69)
感谢您的帮助使用:
Double.MAX_VALUE
保持double型最大正有限值的常数,
(2-2-52)·21023. 它等于十六进制浮点文字
0x1.ffffffffffp+1023,也等于
Double.longBitsToDouble(0x7fefffffffffffl)
更新:
List values=new ArrayList();
添加(新的双精度[]{3.6936744465393905});
添加(新的双精度[]{2.021340609760623});
添加(新的双精度[]{1.942381354120031});
添加(新的双精度[]{1.11741274558777019});
添加(新的双精度[]{1.02562059028788});
双最小值=双最大值,最大值=双最小值;
for(双[]ds:值){
用于(双d:ds){
如果(d>max)max=d;
如果(d
使用:
保持double型最大正有限值的常数,
(2-2-52)·21023. 它等于十六进制浮点文字
0x1.ffffffffffp+1023,也等于
Double.longBitsToDouble(0x7fefffffffffffl)
更新:
List values=new ArrayList();
添加(新的双精度[]{3.6936744465393905});
添加(新的双精度[]{2.021340609760623});
添加(新的双精度[]{1.942381354120031});
添加(新的双精度[]{1.11741274558777019});
添加(新的双精度[]{1.02562059028788});
双最小值=双最大值,最大值=双最小值;
for(双[]ds:值){
用于(双d:ds){
如果(d>max)max=d;
如果(d
如果列表中有值
public double getMaxValue(List<Double> values){
double maxValue = Double.MIN_VALUE;
for(Double d : values){
maxValue = d > maxValue ? d : maxValue;
}
}
public双精度getMaxValue(列表值){
双最大值=双最小值;
for(双d:值){
maxValue=d>maxValue?d:maxValue;
}
}
或者如果担心性能
public double getMaxValue(List<Double> values){
double maxValue = Double.MIN_VALUE;
for(Double d : values){
if(d > maxValue){
d = maxValue
}
}
}
public双精度getMaxValue(列表值){
双最大值=双最小值;
for(双d:值){
如果(d>最大值){
d=最大值
}
}
}
第一个值总是赋值,而第二个值只有在新值大于旧值时才赋值。如果列表中有值
public double getMaxValue(List<Double> values){
double maxValue = Double.MIN_VALUE;
for(Double d : values){
maxValue = d > maxValue ? d : maxValue;
}
}
public双精度getMaxValue(列表值){
双最大值=双最小值;
for(双d:值){
maxValue=d>maxValue?d:maxValue;
}
}
或者如果担心性能
public double getMaxValue(List<Double> values){
double maxValue = Double.MIN_VALUE;
for(Double d : values){
if(d > maxValue){
d = maxValue
}
}
}
public双精度getMaxValue(列表值){
双最大值=双最小值;
for(双d:值){
如果(d>最大值){
d=最大值
}
}
}
第一个值总是赋值,而第二个值只有在新值大于旧值时才赋值。对不起。我需要这5个值中最高的双倍值(因此在本例中为3.69),对不起。我需要这5个值中最高的双倍值(因此在本例中为3.69)