gpt4 book ai didi

java - 如何直接从文件向 Java 中的 ArrayList 添加项目?

转载 作者:行者123 更新时间:2023-12-04 21:29:00 28 4
gpt4 key购买 nike

这看起来很简单,但我做不到,尽管我是用 C# 做的。为了这个例子,我会保持简单。我有一个 Person 类,包含字段 nameage。我有构造函数、getter 和 setter。

在我的主类中,我想从一个文件中读取数据并创建一个 Person 对象,该对象将被添加到一个 ArrayList 中。这是代码中似乎无法正常工作的部分。我使用调试器并看到读数是正确的,我的文本文件的每一行都在 p 变量中的某个点,但是当我打印它时它只显示文件中的最后一个人 x 次(其中 x 是文件中的人数)。我使用了 i 变量,因为我在网上查看并看到 .add 有重载。第一次我只尝试了 lst.add(p),第二次我使用了 i 变量来指定 i 想要我的位置名单上的人。

File f = new File("fisier.txt");

try{
Scanner scn = new Scanner(f);
int i = 0;
while(scn.hasNext()){
p.nume = scn.next();
p.varsta = scn.nextInt();
lst.add(i,p);
i++;
}
scn.close();

} catch(FileNotFoundException e){
e.printStackTrace();
}
for(Persoana a : lst)
System.out.println(a.nume + " " + a.varsta);
}

最佳答案

您需要在循环中创建一个新的 Person 实例:

while(scn.hasNext()) {
String name = scn.next();
int age = scn.nextInt();
Person p = new Person(name, age);
lst.add(p); // simply add to the end of the list
}

关于java - 如何直接从文件向 Java 中的 ArrayList 添加项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24184062/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com