Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java getISOCountries()方法只显示两个控件名称字母。是否可以使用此方法获取国家的全名?_Java_Locale - Fatal编程技术网

Java getISOCountries()方法只显示两个控件名称字母。是否可以使用此方法获取国家的全名?

Java getISOCountries()方法只显示两个控件名称字母。是否可以使用此方法获取国家的全名?,java,locale,Java,Locale,我使用了以下代码,但它只显示ISO国家名称的2位数字。例如,对于“INDIA”,它只显示“IN”。我可以显示全名为“印度”吗 String[]loc=Locale.getISOCountries(); 对于(inta=0;a尝试使用方法 例如: import java.util.Locale; public class Main { public static void main(String [] argv) { Locale defaultLocale = Locale.g

我使用了以下代码,但它只显示ISO国家名称的2位数字。例如,对于“INDIA”,它只显示“IN”。我可以显示全名为“印度”吗

String[]loc=Locale.getISOCountries();
对于(inta=0;a尝试使用方法

例如:

import java.util.Locale;

public class Main {

  public static void main(String [] argv) {

    Locale defaultLocale = Locale.getDefault();
    System.out.println(defaultLocale.getDisplayCountry()); // displays United States
  }
}
编辑:
要获得完整的国家全名列表,我不知道有什么方法。相反,您可以下载包含国家全名到两个字母到两个字母ISO 3166名称映射的文件,使用您以前的
getISOCountries
方法获得两个字母的名称并使用映射。

这里我们只能获得L的完整名称可在
getAvailableScale()
方法中使用的ocale

import java.util.*;

public class Locales
{
  public static void main(String[] args)
  {
    Locale[] locales = Locale.getAvailableLocales();
    for(int i = 0; i < locales.length; i++)
    {
      String locale_name = locales[i].getDisplayName();
      System.out.println((i+1)+":"+locale_name);
    }
  }
}
import java.util.*;
公共类区域设置
{
公共静态void main(字符串[]args)
{
Locale[]locales=Locale.getAvailableLocales();
for(int i=0;i
无需下载任何文件。 您可以使用给定的2个国家/地区字母再次创建区域设置对象,因此可以执行以下操作:

String[] locales = Locale.getISOCountries();

    for (String countryCode : locales) {

        Locale obj = new Locale("", countryCode);

        System.out.println("Country Code = " + obj.getCountry()
            + ", Country Name = " + obj.getDisplayCountry());

    }

是的,谢谢你的回答。我试过并得到了DisplayCountry()方法的效果非常好。但我只能在ISO国家中找到一个国家,而这些国家已经有了。如何获得所有国家的名称?我认为这段代码非常有用,可以让开发人员了解当地的情况,所以我稍微调整了代码,并通过ideone.com运行了它。下面是语言/国家的分类地图配对(如果ideone链接失效,我还创建了一个。)
String[] locales = Locale.getISOCountries();

    for (String countryCode : locales) {

        Locale obj = new Locale("", countryCode);

        System.out.println("Country Code = " + obj.getCountry()
            + ", Country Name = " + obj.getDisplayCountry());

    }