如何获得该省的人口

时间:2016-11-18 05:20:57

标签: java

我正在做一个关于数组的函数和在java中的while循环。 问题是创建一个名为B的方法,该方法返回该省的人口。如果没有这样的省,则返回一个名为public int getPopulation(String province)的常量,它是一个设置为-1的int。但我无法得到我想要的东西。

NO_SUCH_PROVINCE

1 个答案:

答案 0 :(得分:2)

您的搜索算法存在问题。它在找到解决方案后继续运行,然后覆盖正确的值。这里,当它找到值时,立即返回值并离开方法。如果找不到任何值,则返回NO_SUCH_PROVINCE

另一个问题是Scary Wombat提到的问题,即您的代码没有正确地比较String以找到匹配项。

public int getPopulation(String province) {
    for (int i = 0; i < provinces.length; i++) {    // For objects, always use .equals()
        if (province.equals(provinces[i])) { return population[i]; }
    }
    return NO_SUCH_PROVINCE;
}

当然,如果可以简单地使用HashMap<String, Integer>来存储像字典这样的所有数据,这会更简单。