嘿伙计们我真的在努力尝试打印我的数组索引和元素值,我几天前发布了一个问题,并得到了非常有用的建议,但似乎无法正确使用此部分,我能够打印数组的第一个索引(距离)但不能打印整个事物而不会丢失原始索引值:
double minVal = Double.MAX_VALUE;
int minIndex = -1;
for (int i=0, max=distances.length; i<max;i++) {
if (distances[i] < minVal) {
minVal = distances[i];
minIndex = i;
//Gets the minimum point and minimum distance
}
}
System.out.println("The Nearest to point K is point: "+minIndex+" with distance "+minVal);
真的很遗憾继续提起这件事但是真的已经尝试过,无法让它为我的生活工作任何帮助或建议将不胜感激。
答案 0 :(得分:2)
首先,你排序
for (int i=0; i<distances.length; i++) {
for(int j = i+1; j<distances.length; j++)
{
if (distances[i] > distances[j])
{
double temp = distances[j];
distances[j] = distances[i];
distances[i] = temp;
}
}
}
然后,你只需要打印
for (int i=0; i<distances.length; i++) {
System.out.println(i + " -> " + distances[i]);
}
如果要保留原始索引,也可以这样做。
示例:
if (distances[i] < minVal)
{
double temp = distances[j];
int tempindex = indices[j];
...
Class Distance
{
public int ID;
public double value;
}
答案 1 :(得分:-1)
尝试将for循环更改为for(int i=0; max = distances.length && i < max; i++){...}