我正在研究一个给我的用于课堂作业的项目,并且我们正在修改一个允许向图书馆系统添加papatrons的图书馆系统,addbooks已经为我完成,我已将其用作创建addpatrons的模板。我已经完成了,但是每当我尝试创建它时,都会出现以下错误。
IndexOutOfBoundsException: Index -1 out of bounds for length 0
这是代码出错的地方。
public void execute(Library library, LocalDate currentDate) throws LibraryException {
int lastIndex = library.getPatrons().size() -1;
int maxId = library.getPatrons().get(lastIndex).getId();
Patron patron = new Patron(++maxId, name, phone);
library.addPatron(patron);
System.out.println("Patron #" + patron.getId() + " added.");
添加顾客接受两个值,即姓名和电话。
感谢您的时间
答案 0 :(得分:0)
当大小为0时,索引1的值为-1。您无法访问空数组的位置0,更不用说-1。
您需要在代码中将int lastIndex括起来,以确保您的索引不等于或小于数组的大小。
答案 1 :(得分:0)
如果library.getPatrons().size()
为0
,则您的lastIndex为-1
,这不是任何ArrayList的有效索引。您应该添加一个if语句来处理列表大小为0的情况。