gpt4 book ai didi

java - 在不移动迭代器的情况下从链表返回值

转载 作者:行者123 更新时间:2023-11-29 03:34:54 26 4
gpt4 key购买 nike

我有 2 个类(class):Student 和 Registry。Registry 旨在保存学生名单。当我尝试从注册表类返回学生的值时,迭代器移动到下一个学生以获取下一个值,因此当只有 2 个学生在场时,我得到一个 NoSuchElementnt 异常。

public String format() 
{
ListIterator<Student> iterator
= studentList.listIterator();

for (int i = 0; i < studentList.size(); i++)
{
System.out.println("if Statement");
if (iterator.hasNext())
{
System.out.println("hasNext");
return String.format("%0s%0s%0s",
iterator.next().getSurName(), iterator.next().getForeName(),
iterator.next().getStudentId());
}

}

return null;
}

我希望它从 stud1 返回所有 3 个值,然后继续返回 stud2 等等。

这里是学生和注册表源文件的链接以及两者的测试程序; https://www.dropbox.com/sh/ol2jyfbuyyjnrcg/1J4LlEaqc6

<罢工>

如果需要,我会发布更多代码。

由于答案已关闭,因此不再删除​​链接中的代码和文件。

最佳答案

每次调用.next() 时都在推进迭代器。仅对当前迭代调用一次

像这样:

Student res = iterator.next();
return String.format("%0s%0s%0s", res.getSurName(),res.getForeName(),res.getStudentId());

关于java - 在不移动迭代器的情况下从链表返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16085622/

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