将文件中的输入解析为 ADT ArrayList
Posted
技术标签:
【中文标题】将文件中的输入解析为 ADT ArrayList【英文标题】:Parsing input from file into an ADT ArrayList 【发布时间】:2011-01-19 00:53:21 【问题描述】:我在解析文件输入时遇到问题。该文件由行分隔,使用 ':' 作为分隔符值。我无法将输入输入到 ArrayList 中,我认为这是因为我在 while 循环中无效地使用了一个变量。如果变量 newItin 发生变化,它仍然引用同一个对象,或者更确切地说是附加 newItin 的“路线”ArrayList,或者只是更改它。我想知道是否有人对我如何解决这个问题有任何建议。提前谢谢你。
ArrayList <Itinerary> itinerary = new ArrayList <Itinerary>();
Itinerary newItin = new Itinerary();
fileIn.useDelimiter(":");
while(fileIn.hasNextLine())
if(fileIn.hasNext())
String dest = fileIn.next();
String days = fileIn.next();
newItin.addDestination(dest, Integer.parseInt(days));
itinerary.add(newItin);
fileIn.nextLine();
fileIn.close();
【问题讨论】:
【参考方案1】:您需要将“新行程”移动到循环中,并且每次都创建一个新行程。否则,您会一遍又一遍地向 ArrayList 添加相同的对象。
【讨论】:
以上是关于将文件中的输入解析为 ADT ArrayList的主要内容,如果未能解决你的问题,请参考以下文章
如何从 JavaScript 中的用户输入将时间解析为 Date 对象?
将 Java 文件中的 ArrayList 值映射到 JSP 文件中的 HTML 对象
用于蛇案例 ADT 的 ConfiguredJsonCodec