我正在做一个关于数组的函数和在java中的while循环。
问题是创建一个名为B
的方法,该方法返回该省的人口。如果没有这样的省,则返回一个名为public int getPopulation(String province)
的常量,它是一个设置为-1的int。但我无法得到我想要的东西。
NO_SUCH_PROVINCE
答案 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>
来存储像字典这样的所有数据,这会更简单。