java - 搜索从文件中提取的数据,并将其存储到数组中以获取答案。 IO

标签 java arrays class oop io

我已成功从 2 个文件中提取数据并将它们存储在各自类的数组对象中。这是我存储在数组对象中的一些数据:

2005,Arsenal,ManU,Arsenal,WestHam,Y,2,3,40000
2006,ManU,Chelsea,ManU,WestHam,N
2007,ManU,Arsenal,ManU,WestHam,Y,1,0,260000
2008,Chelsea,ManU,Chelsea,Swansea,Y,4,0,285630
2009,Chelsea,ManCity,Chelsea,Swansea,N

每个逗号代表不同的列。这是我存储它的代码:

try{ 
Scanner kd = new Scanner(file);
    while(kd.hasNext()){
        String data = kd.nextLine();
        String [] values = data.split(",");
        String year = values[0];
        String wScore = "N/A" , lScore = "N/A", crowd = "N/A";

        if(inputYears.equals(year))
        {
        g.setPremier(values[1]);
        g.setLosing(values[2]);

我按照一些用户的建议做了,但现在唯一的问题是我的获胜者为空白。例如:

    Year: 2005
    Premier: 

应该是:

    Premier: Arsenal

无论如何我可以解决这个问题吗?

最佳答案

好吧,如果用户只想按年份查询,那么您应该有一个以年份作为 map .

在初始化阶段,尝试执行以下操作:

Map<String, ArrayList<String>> map= new HashMap<String, ArrayList<String>>();

while(kd.hasNext()){
    String data = kd.nextLine();
    String [] values = data.split(",");
    String year = values[0];
    String premiers = values[1];
    //String otherStuff= values[2]; and so on

    ArrayList<String> temp= new ArrayList<String>();
    temp.add(premiers);

    //temp.add(otherStuff);
    map.put(year, temp);
}

稍后,您可以这样查询:

ArrayList<String> values= map.get(userInputYear);
String winner= values.get(0);

关于java - 搜索从文件中提取的数据,并将其存储到数组中以获取答案。 IO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16818810/

相关文章:

c - 如何在 C 中将行从矩阵传递到新数组

c++ - 析构函数在哪里调用?

java - 如何根据对象值对不同类的对象进行排序

java - 如何改变JFrame中标题栏的颜色?

java - 打印数组时如何去掉groovy中的括号和逗号

java - 如何创建相位器链/层

c# - 使用列表 AddRange 时如何删除重复值? C#

python - 向初学者解释 'self' 变量

python - 如果转换为序列或映射,则要进行不同转换的类

java - 如何在 Eclipse 中添加 ACM 库?