我的数据库中有一个表,它有一些列,例如time
和text
...。我希望所有条目都存在于单独的字符串数组的任何列中...
我确定两个字符串数组正确地收集了条目(使用吐司进行测试!)...我的第一个数组是texts
第二个数组times
...我想根据插入来查找最后插入的两个文本time
...如果我找到两个最大值time
在times
数组中,使用它们的位置,我可以从texts
数组中找到相关的文本...这是我的代码:
double maxtime = 0;
double second_maxtime = 0;
for (int counter = 0; counter < i; counter++) {
if (Double.parseDouble(times[counter]) > maxtime) {
second_maxtime = maxtime;
maxtime = Double.parseDouble(times[counter]);
} else if (Double.parseDouble(times[counter]) > second_maxtime && Double.parseDouble(times[counter]) != maxtime) {
second_maxtime = Double.parseDouble(times[counter]);
}
}
long scndmxt= Math.round(second_maxtime);
String scndmaxt = String.valueOf(scndmxt);
int pos = Arrays.asList(times).indexOf(scndmaxt);
long mxt = Math.round(maxtime);
String maxt = String.valueOf(mxt);
int pos1 = Arrays.asList(times).indexOf(maxt);
String last_text = texts[pos];
String second_last_text = texts[pos1];
但是当我尝试用吐司测试它是否正确工作时,它可以找到最后一次正确的两个(mxt
和scndmxt
)...但是它们的位置不正确...有时是-1
and 0
..有时是0
ad 1
...
我尝试int pos = Arrays.asList(otherArray).indexOf(...);
了其他数组,并且可以正常工作...但是在这里,我应该将字符串转换为double以进行比较...有什么帮助吗?!! 谢谢...
首先,为什么要使用Double作为时间戳,而应该使用long。以下代码可能对您有帮助
long maxtime = 0;
long second_maxtime = 0;
int maxPos;
int secondMaxPos;
for (int counter = 0; counter < timestampArray.length; counter++) {
if (Long.parseLong(times[counter]) > maxtime) {
second_maxtime = maxtime;
maxtime = Long.parseLong(times[counter]);
maxPos = counter;
} else if (Long.parseLong(times[counter]) > second_maxtime && Long.parseLong(times[counter]) != maxtime) {
second_maxtime = Long.parseLong(times[counter]);
secondMaxPos = counter;
}
}
String last_text = texts[maxPos];
String second_last_text = texts[secondMaxPos];
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句