-1

我正在编写一个返回字符串的方法。字符串是使用该应用程序的人更有可能所在的大陆的名称。

IE。有两个大陆,A 和 B。如果这个人在大陆 A 的某个地方,到达大陆 A 的时间应该小于大陆 B。在这种情况下,返回的字符串将是"A"

这些是我想出的编写方法的步骤:

  1. 计算两个大陆之间的距离
  2. 使用条件语句比较这些距离
  3. 找到最小值并用字符串形式的名称表示

我已经完成了#1。我对如何使用条件语句来比较整数值非常迷茫。分配的范围是使用算法来编写大部分方法。任何人都可以告诉我如何开始算法部分?(我还必须考虑总共 7 个位置)

这是我到目前为止的代码:

public String whichContinent(ILocationService locator) {
    int na = locator.timeToNorthAmerica();
    int sa = locator.timeToSouthAmerica();
    int e = locator.timeToEurope();
    int a = locator.timeToAsia();
    int af = locator.timeToAfrica();
    int au = locator.timeToAustralia();
    int an = locator.timeToAntarctica();
    return "a string";
}
4

2 回答 2

0

您可以使用TreeMap距离作为键来按距离存储和排序。插入所有记录后,只需获取地图中的第一个条目并返回它的值。第一个条目是距离最近的地方。

TreeMap<Integer, String> distances = new TreeMap<>();
distances.put(na, "NorthAmerica");
...

return distances.firstEntry().getValue();
于 2013-09-19T08:24:56.770 回答
0
int distance = Integer.MAX_VALUE;
String continentName = null;
for (Continent continent : continents) {
    if (continent.getDistanceFromLocation(locator) < distance) {
        continentNAme = continent.getName():
    }
{
return continentName;
于 2013-09-19T08:31:06.060 回答