我在尝试向Arraylist添加新书时遇到问题 如果我有一个列表:
DVDJNSHRR00001,GSTSMCSCF00002, STPHNKART00003, DVRDNRHRR00004, JKRWLNSCF00005, BRHMSLSCF00006, BZDRCFCRI00008, BZDRCFCRI00009
如果我添加 我的测试课上的新书 由
b1.addBook("ART","Dr Julius Erving");
b1.addBook("ART","Vytenis Matijosaitis");
b1.addBook("ART","Fedor Dostojewski");
我得到了输出:
DVDJNSHRR00001, GSTSMCSCF00002, STPHNKART00003, DVRDNRHRR00004, JKRWLNSCF00005, BRHMSLSCF00006, DRJLSRART00007, BZDRCFCRI00008, BZDRCFCRI00009, VTNSMTART00009, FDRDSTART00010
而不是:
DVDJNSHRR00001, GSTSMCSCF00002, STPHNKART00003, DVRDNRHRR00004, JKRWLNSCF00005, BRHMSLSCF00006, DRJLSRART00007, BZDRCFCRI00008, BZDRCFCRI00009, VTNSMTART00010, FDRDSTART00011
程序本身很长(500)行,所以我只发布我认为是我的错误的部分。 我处理它的代码部分如下:
if(this.existingNumberIDs.contains(this.idPart)){
while(findID==true){
findID=false;
nextBookID++;
this.idPart = String.format("%05d", nextBookID);
if(!this.existingNumberIDs.contains(this.idPart)) {
findID=true;
}
findID=false;
}
}
String charPart = authorID + this.genre;
this.bookID = charPart + this.idPart;
setBookID(this.bookID);
在添加这3本书nextBookID=6
之前,基本上我的代码与b1.addBook("ART","Dr Julius Erving")
一起工作正常,但只会增加b1.addBook("ART","Vytenis Matijosaitis")
到9
的ID它是10
,因为00008
和00009
已经存在且b1.addBook("ART","Fedor Dostojewski")
应该增加到11
。你们中的任何一个人都能明白为什么这部分代码是错误的吗?