gpt4 book ai didi

java - 打印数组的索引和元素

转载 作者:行者123 更新时间:2023-12-01 13:47:46 24 4
gpt4 key购买 nike

嘿伙计们,我真的很努力尝试打印我的数组索引和元素值,几天前我发布了一个问题并得到了非常有用的建议,但似乎根本无法正确处理这部分,我可以打印数组的第一个索引(距离),但无法在不丢失原始索引值的情况下打印整个内容:

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);

真的很抱歉继续提出这个问题,但我确实已经尝试过,但无法让它在我的生活中发挥作用,任何帮助或建议将不胜感激。

最佳答案

首先,你排序

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];
...
  • 更好的方法是创建一个带有索引(或更恰本地命名为 ID)和值(这是您的 double 值)的类,并对 Distance 类型的数组进行排序。

.

 Class Distance
{
public int ID;
public double value;
}

关于java - 打印数组的索引和元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20223065/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com