-1

我想知道为什么当我尝试将 Locale.ENGLISH 与货币对象一起使用时,这个 Java 程序会引发异常。有谁能够帮我??

package pr.javautility.TimerAndCurrency;

import java.util.Currency;
import java.util.Locale;

public class CurrencyDemo {

/**
 * @param args
 */
public static void main(String[] args) {
    // TODO Auto-generated method stub
    Currency c;
    c=Currency.getInstance(Locale.ENGLISH);
    System.out.println("Symbol used is " + c.getSymbol());
    System.out.println("Default fractional digits "
            + c.getDefaultFractionDigits());
}

}

顺便说一句,我住在印度。

4

2 回答 2

3
 c=Currency.getInstance(Locale.ENGLISH);

应该

 c=Currency.getInstance(Locale.UK);

根据Currency#getInstance(Locale) 文档

返回给定语言环境所在国家/地区的 Currency 实例。IllegalArgumentException - 如果给定语言环境的国家不是受支持的 ISO 3166 国家代码。

于 2013-04-22T15:05:42.680 回答
2

货币必须属于一个国家:

Currency.getInstance(Locale.UK);
于 2013-04-22T15:06:18.407 回答