gpt4 book ai didi

java - 与字符串数组关联的数组中的最小数字

转载 作者:行者123 更新时间:2023-12-02 03:15:15 25 4
gpt4 key购买 nike

我已经尽我所能地寻找数组中的最小数字;但是,我找不到任何具有与单独的字符串数组关联的数组的示例。我有两个数组,一个是名称数组,第二个是时间数组(int)。我想要一个显示最短时间以及谁在该时间达到的结果。

这是我必须使用的骨架:

class Marathon {
public static void main (String[] arguments){
String[] names ={"Elena", "Thomas", "Hamilton", "Suzie", "Phil", "Matt", "Alex", "Emma", "John", "James", "Jane", "Emily", "Daniel", "Neda", "Aaron", "Kate"
};

int[] times ={341, 273, 278, 329, 445, 402, 388, 275, 243, 334, 412, 393, 299,343, 317, 265
};

for (int i = 0; i < names.length; i++) {
System.out.println(names[i] + ": " + times[i]);
}
}
}

我能够编写一些代码来获得最短的时间:

public class Test {

public static void main (String[] args) {

String[] names = new String[] {"Elena", "Thomas", "Hamilton", "Suzie", "Phil", "Matt", "Alex", "Emma", "John", "James", "Jane", "Emily", "Daniel", "Neda", "Aaron", "Kate"
};

int[] times = new int[]{ 341, 273, 278, 329, 445, 402, 388, 275, 243, 334, 412, 393, 299, 343, 317, 265
};

int win = times[0];

for(int i=0; i< names.length; i++) {
if (times[i] < win)
win = times[i];
}
System.out.println("names[i]" + ": " + win);
}
}
// result "names[i]: 243

但似乎无法找到显示关联名称的方法(所以我什至不知道这段代码是否让我更接近或更远)。我最接近的是尝试 continue 循环...但它只直接与 times[0] 进行比较,我收到的结果都是小于 341。

public class Marathon { 

public static void main (String[] args) {

String[] names = new String[] {"Elena", "Thomas", "Hamilton", "Suzie", "Phil", "Matt", "Alex", "Emma", "John", "James", "Jane", "Emily", "Daniel", "Neda", "Aaron", "Kate"
};

int[] times = new int[] {341, 273, 278, 329, 445, 402, 388, 275, 243, 334, 412, 393, 299, 343, 317, 265
};

for (int i = 1; i < names.length; i++) {
if (times[i] >= times[0]) continue;
System.out.println(names[i]+ ": " + times[i]);
}
}
}
//Result:
//"Thomas: 273
//Hamilton: 278
//Suzie: 329
//Emma: 275
//John: 243
//James: 334
//Daniel: 299
//Aaron: 317
//Kate: 265"

我还尝试与 times[i++] 进行比较,导致错误,并且不确定是否有另一种方法可以与整个数组进行比较并保持与正确时间关联的名称(我发现了很多方法来取消关联正确的时间)姓名和时间)。我怎样才能将正确的名字与最短的时间联系起来。下一阶段也将颁发 runner ;然而,我希望一旦我获得第一名的人和时间我就能弄清楚这一点...我在任何地方找到的唯一例子只涉及一个数组,多个数组的事情似乎让我陷入了困境!

最佳答案

真正的答案
停止使用 clown 解决方案并开始使用物体。创建一个包含名称和时间的对象。停止使用数组。将新对象类型存储在列表中(LinkedList 可能没问题,如果需要随机访问列表,请使用 ArrayList)。

你想要的答案
使用两个数组来存储一项的相关数据是一个很好的解决方案。查找最短时间和关联名称的简单解决方案:

  1. 找到最低时间的索引。
  2. 由于数组的顺序相同,因此可以使用该索引值从完全独立的名称数组中检索名称。

关于java - 与字符串数组关联的数组中的最小数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40407279/

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