向arraylist

时间:2017-11-01 20:12:51

标签: java arraylist

我在尝试向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,因为0000800009已经存在且b1.addBook("ART","Fedor Dostojewski")应该增加到11。你们中的任何一个人都能明白为什么这部分代码是错误的吗?

0 个答案:

没有答案