【发布时间】:2013-05-20 17:45:25
【问题描述】:
我有一段涉及 LinkedList 的代码。以下是
topic.read()
topic.delete() and
topic.send()
是来自名为 Topic 的 LinkedList 的方法。这些都在 GUI 设计中实现。方法
topic.read(name)
topic.send(text)
工作正常,但是
topic.delete(index)
在扔我一个
IndexOutOfBoundsException
我简要解释一下这些方法:read(name) 和 send(text) 接受 String 参数并读取主题及其消息列表,并以接收方式向主题发送消息。 delete(index) 应该从主题中删除索引指定的消息。但是,错误消息告诉我 Size 为 0。
相关篇:(我觉得一篇应该够了,如果需要的话会添加更多篇)
public void act(String s)
{
topic = new Topic(s, topics);
if (s.equals("Read"))
setEditorText(topic.read(readText()));
else if (s.equals("Delete"))
topic.delete(indexText());
else if (s.equals("Send"))
{
topic.send(getEditorText(), sendText());
clear();
}
}
将这些添加到此问题中:
private JTextField indexText = new JTextField(10);
public int indexText()
{
return Integer.parseInt(indexText.getText());
}
public class Topic {
private LinkedList<String> messages = new LinkedList<String>();
public void delete(int index)
{
messages.remove(index - 1);
}
}
【问题讨论】:
-
您的 indexText 超出范围,但您没有在此处设置。该主题或主题为空,请检查以确保在构建时添加正确的元素
-
indexText() 中的内容;
-
indexText() 是返回一个整数的方法
-
我已经添加了 indexText();
-
您能补充一下 Topic.delete() 方法的作用吗?
标签: java indexing linked-list indexoutofboundsexception