java - 使用方法初始化数组 - Java

标签 java arrays methods

我有一个文本文件,其中有 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

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

现在从文件中读取并创建运动员对象并将其添加到Map

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

关于java - 使用方法初始化数组 - Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29003542/

相关文章:

java - 截屏并通过 Selenium WebDriver 和 java 中的 FileUtils 进行复制

java - 如何在 Spring Autowiring 属性

php - Laravel 将数组值存储/插入到数据库 Mysql

javascript - 根据条件修改 Redux 中的对象数组

ruby - 更改方法中传递的变量

java - 当更新的行数超过 2^31 时会发生什么?

java - 如何从 XSD 和规则驱动 XML 生成?

javascript - 在 JavaScript 中创建二维数组的方法

c++ - 修复重载运算符 '+' 的使用不明确?

c++ - 这种加法有什么问题?