java - 如何返回教科书,使其不被设置为空?

标签 java bluej

我还是 Java 新手,目前使用 BlueJ。

第一个方法来自类库并且工作正常:

public TextBook borrowBook(LibraryCard card){

    TextBook book = null;
    if ( (nextBook < bookShelf.length)  && !card.expired() ) {
        book = bookShelf[ nextBook ];
        bookShelf[ nextBook ] = null;
        nextBook++;
        card.swipe();
    }
    return book;
}

第二个来自 Student 类,我不知道如何将 book 从 null 更改为从书架上取下的书( TextBook 对象的数组):

public void study()
{
    if( book == null ){
          library.borrowBook(card);
          return book;
    }            
    else{
        if( !book.isFinished() ){
          book.readNextChapter();
        }
        else{
          library.returnBook(book);
        }
    }

}

最佳答案

public void study()
{
    if( book == null ){
          library.borrowBook(card);
          return book;
    }            
    else{
        if( !book.isFinished() ){
          book.readNextChapter();
        }
        else{
          library.returnBook(book);
        }
    }

}

首先,函数的返回类型是void,因此您的函数不应该返回任何内容。目前您的函数中有一个返回簿

如果我错了,请纠正我。我认为这就是您想要实现的目标:

public void study() {
    if(book == null) {
        book = library.borrowBook(card);
    } else {
        if(!book.isFinished()) {
            book.readNextChapter();
        } else {
            library.returnBook(book);
        }
    }
}

由于library.borrowBook(card);返回借来的书,只需将其分配给book即可。另外,始终编写干净的代码(正确的缩进、大括号的位置一致,以及删除不必要的空格等)。干净的代码就是好代码。我希望这有帮助!

关于java - 如何返回教科书,使其不被设置为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59384881/

相关文章:

java - 无法在 Java 上加载图像 (BlueJ)

java - 如何使用 boolean 值创建变异方法

java - 从java中的字符串集合中对数据进行分组

java - 变量未在默认构造函数中初始化

java - Mac 上 Java 进程的 PID

java - 如何在Java中查找特定元素在数组列表中出现的次数

java - 如何为组合框和列表中的选项添加标签?

Java 泛型 - Stackoverflow

java.lang.StringIndexOutOfBoundsException : String index out of range: 12 in java

java - 太大的整数