Java ArrayList<;字符串>;索引自动绑定

Java ArrayList<;字符串>;索引自动绑定,java,Java,我是一个编程初学者,我正在做一个记笔记的程序。您可以添加、编辑、删除注释。该程序正在运行,但我想让它生成一个文件,在其中保存注释,如下所示:Header§Note

我是一个编程初学者,我正在做一个记笔记的程序。您可以添加、编辑、删除注释。该程序正在运行,但我想让它生成一个文件,在其中保存注释,如下所示:
Header§NoteString.split()
2次。 注释已成功加载,拆分也可以工作,但当我想设置变量时,它不起作用

我希望你能帮助我

private void splitFile(String input) {

    ArrayList<String> listOfNotes = new ArrayList<String>(Arrays.asList(input.split(";")));
    String[] notes;

    for(int i=0; i<listOfNotes.size(); i++) {
        notes = listOfNotes.get(i).split("§");
        System.out.println(notes[0] + " " + notes[1]);
        organizers.get(i).setHeader(notes[0]);
        organizers.get(i).setNote(notes[1]);
    }       
}
编辑:这是组织者类:

public class Organizer {    

private String header = new String("");
private String note = new String("");

public Organizer() {
    this("", "");
}
public Organizer(String h, String n) {
    header = h;
    note = n;
}

public String getHeader() {
    return header;
}

public String getNote() {
    return note;
}

public void setHeader(String s) {
    header = s;
}

public void setNote(String s) {
    note = s;
}

public String toString() {
    return String.format("\n\n%s\n\n%s", header, note);
}
}

这是一个例外:

Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.rangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at com.ThalerPhilipp.Menu.splitFile(Menu.java:135)
at com.ThalerPhilipp.Menu.readNotesFromFile(Menu.java:116)
at com.ThalerPhilipp.Menu.showMenu(Menu.java:17)
位于com.ThalerPhilipp.Main.Main(Main.java:9) 编辑:我让它工作了。 我让它工作了。我换了新的

organizers.get(i).setHeader(notes[0]);
organizers.get(i).setNote(notes[1]);


谢谢你的回答

您试图访问
组织者中不存在的索引

请记住,您迭代了
listOfNotes
中的所有元素,并尝试为每个元素更新
organizer
中的一个元素

因此,
组织者
长度必须至少为
listOfNotes.size()

这是因为

organizers.size()!=listOfNotes.size()


i、 e
organizers
尚未初始化,或者其大小与
Notes列表不匹配
size

很可能是
organizers.size()!=listOfNotes.size()
请显示组织者的声明以及您要添加的内容。我的猜测是,组织者的大小不如ListOfNots的大小当您获得异常时,
i
的值是多少?异常发生在第一个循环上。i==0这与其说是回答,不如说是评论。@baraky我同意..对于这个问题,你的ans是有效的,两者都是有效的。答案和澄清的必要性相结合。@baraky让它成为一个答案,而不是一个问题。稍微解释一下会很有帮助的。答案不应该包括
,除非它是您解释的一部分。这行不能引发异常吗<代码>System.out.println(notes[0]+“”+notes[1])此行不能引发异常吗<代码>System.out.println(notes[0]+“”+notes[1])
@NoobUnChained op提到错误出现在
organizers.get(i).setHeader(notes[0])我添加这一行是为了查看字符串值是否被正确读取。@user2304533查看编辑后,我想可能是您没有初始化组织者,即
List organizers=new ArrrayList()
或正在拆分的字符串没有
私有ArrayList organizers=新建ArrayList();我有这样的。如果这根绳子没有一根绳子;它应该继续工作
organizers.get(i).setHeader(notes[0]);
organizers.get(i).setNote(notes[1]);
organizers.add(new Organizer(notes[0], notes[1]));