我有一个文本文件,其中包含n个运动员的名字,每个名字在新行中,并且运动员的人数在文本文件的第一行中写为int。到目前为止,我编写的代码将读取文本文件,并使用扫描仪并使用所有数据(运动员名称)创建一个数组。
我想知道的是,是否有可能使用一种方法为每个运动员创建一个单独的数组(我稍后将用分数/表现数据填充这些数组)。由于无法确定运动员的人数,因此我无法在扫描文本文件之前对其进行初始化。

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;


public class TextScanner {

  private static void readFile(String fileName) {
    try {
      List<String> distance = new ArrayList<String>();
      File file = new File(fileName);
      Scanner scanner = new Scanner(file);
      while (scanner.hasNext()) {
          distance.add(scanner.next());
      }
      scanner.close();
    } catch (FileNotFoundException e) {
      e.printStackTrace();
    }
  }

 public static void main(String[] args) {

    readFile(args[0]);
  }
}


Java的新手,对不起。我环顾四周,似乎找不到任何信息。
谢谢

最佳答案

是的,这是可能的,但是Array具有一定的局限性,因为它无法动态扩展和折叠

试试这个

创建具有要为运动员保留的属性的类Athelete



Class Athelete{

private String name;
private Integer age;
private String skill;

// then Getters and Setters for each of these
}


并创建一个地图

Map<String,Athelete> // having `name` as Key and `athelete object` as value.


现在,从文件读取并创建Athelete对象,并将其添加到Map

Person p=new Person();
p.setName=nameFromFile();
// also set further attributes
map.put(p.getName,p);

09-10 02:58
查看更多