Closed. This question needs to be more focused。它当前不接受答案。












想改善这个问题吗?更新问题,使其仅通过editing this post专注于一个问题。

5年前关闭。





Java初学者在这里,请耐心等待。所以我需要导入一个看起来像这样的txt文件

一个

德国

印度



越南

中国

程序将需要比较用户键入的国家/地区,然后确定它属于A组还是B组并返回该组。我被告知要使用ArrayList。目前我的代码看起来像

public class regionCountry
{
   public String region;
   public ArrayList <String> countryList;
}

public class destination
{
   public static void main (String [] args)
   {
      ArrayList<regionCountry> rc = new ArrayList<regionCountry>;
   }
}


但我仍然不知道该怎么办。任何帮助都感激不尽。

最佳答案

您可以按照以下步骤操作。

1. Read your file (You can use Scanner)
2. Split data and store them in a `ArrayList`.


现在,让我们尝试这些。

如何读取文件?

 File file=new File("yourFilePath");
 Scanner scanner=new Scanner(file);
 while (scanner.hasNextLine()){
      // now you can get content of file from here.
 }


然后拆分内容并创建对象集区域的实例并添加国家/地区列表。

注意:

使用正确的命名转换。将regionCountry更改为RegionCountry。班级名称应以大写字母开头。

将所有变量设为私有,并添加公共获取器和设置器。

编辑:您的评论。如何确定组和国家?

 File file=new File("/home/ruchira/Test.txt");
 Scanner scanner=new Scanner(file);
 RegionCountry regionCountry = null;
 List<RegionCountry> regionCountryList=new ArrayList<>();
 List<String> groupList=new ArrayList<>();
 groupList.add("A");
 groupList.add("B");
 List<String> countryList = null;
  while (scanner.hasNextLine()){
    String line=scanner.nextLine();
    if(!"".equals(line)){
        if(groupList.contains(line.trim())){
         if(regionCountry!=null&&groupList.contains(regionCountry.getRegion())){
             regionCountryList.add(regionCountry);
           }
          regionCountry=new RegionCountry();
          regionCountry.setRegion(line);
          countryList=new ArrayList<>();
          }else {
          countryList.add(line);    // those will never be null in this logic
          regionCountry.setCountryList(countryList);
         }
       }
   }
  regionCountryList.add(regionCountry);// last group you have to take from here.
  System.out.println(regionCountryList);


输出:(我在toString()中覆盖了RegionCountry


[RegionCountry {region ='A',countryList = [德国,印度]]},
RegionCountry {region ='B',countryList = [越南,中国]}]]

10-04 10:32