我正在编写java风险游戏。我有一个名为countries的类,它将有一个填充了country类型对象的数组。如何使用42个国家/地区对象填充数组。我想也许可以使用for循环填充阵列,但我不知道如何让它填满所有不同的国家。
答案 0 :(得分:0)
简化的方法是使用ISO country codes
,this link提供了一种有效的处理方法。
我已经调整了代码来处理异常并将比较器分开(下面的工作代码):
public static void main(String[] args) {
List<Country> countries = new ArrayList<Country>();
Locale[] locales = Locale.getAvailableLocales();
for (Locale locale : locales) {
try {
String iso = locale.getISO3Country();
String code = locale.getCountry();
String name = locale.getDisplayCountry();
if (!"".equals(iso) && !"".equals(code) && !"".equals(name)) {
countries.add(new Country(iso, code, name));
}
} catch (MissingResourceException ex) {
}
}
for (Country country : countries) {
System.out.println(country);
}
}
}
class Country {
private String iso;
private String code;
public String name;
Country(String iso, String code, String name) {
this.iso = iso;
this.code = code;
this.name = name;
}
public String toString() {
return iso + " - " + code + " - " + name.toUpperCase();
}
<强>输出:强>
MYS - MY - MALAYSIA
QAT - QA - QATAR
ISL - IS - ICELAND
FIN - FI - FINLAND
MLT - MT - MALTA
CHE - CH - SWITZERLAND
BEL - BE - BELGIUM
...