【发布时间】:2013-05-25 19:42:28
【问题描述】:
我在获取国家/地区货币时遇到问题,我通过这些代码在数据库中获取国家/地区代码我必须在 java 中获取国家/地区代码我如何为此制作代码请建议我。 我正在尝试这个例子,但它不起作用。
class Utils {
public static SortedMap<Currency, Locale> currencyLocaleMap;
static {
currencyLocaleMap = new TreeMap<Currency, Locale>(
new Comparator<Currency>() {
public int compare(Currency c1, Currency c2) {
return c1.getCurrencyCode().compareTo(
c2.getCurrencyCode());
}
});
for (Locale locale : Locale.getAvailableLocales()) {
try {
Currency currency = Currency.getInstance(locale);
currencyLocaleMap.put(currency, locale);
} catch (Exception e) {
}
}
}
public static String getCurrencySymbol(String currencyCode) {
Currency currency = Currency.getInstance(currencyCode);
System.out.println(currencyCode + ":-"
+ currency.getSymbol(currencyLocaleMap.get(currency)));
return currency.getSymbol(currencyLocaleMap.get(currency));
}
}
public class GetCurrency {
public static void main(String[] args) {
Utils.getCurrencySymbol(Currency.getInstance("INR").getCurrencyCode());
Utils.getCurrencySymbol(Currency.getInstance(Locale.JAPAN)
.getCurrencyCode());
Utils.getCurrencySymbol(Currency.getInstance(Locale.UK)
.getCurrencyCode());
Utils.getCurrencySymbol("INR");
}
}
【问题讨论】:
-
“它不工作” - 你能进一步解释一下吗?哪些部分不起作用,您发现了什么问题?
-
@Rup 如果我将“INR”更改为另一个符号为 $ 的“BMD”,那么它会抛出空指针异常
-
你调试了吗?什么是空?如果您有特定问题,请更新您的问题。否则它将被关闭。
-
@Jamie 是的,我已经对其进行了调试,那些货币代码已经存在于语言环境中正确显示了它们的符号,但那些在语言环境中不存在抛出空指针异常我已经从谷歌下载了一些货币代码其中一些像美元,澳元在起作用,但对于 BMD,BZD 不起作用如何使这些起作用