我无法解决为什么我的编译器出现问题。我试图从另一个类中提取一个简单的get方法,以便定义是否借出一本书。
public String displayBooks(){
for (Book b : book){
if (b.isLoaned() = false){
String loan = "Not currently loaned";
}
else{
String loan = "Currently loaned";
}
return(book.getTitle() + " " + book.getAuthor() + " " );
}
}
我收到错误,说明找到值时需要变量。 注意:book是我在书中存储书籍对象的arraylist的名称。
答案 0 :(得分:1)
该行
b.isLoaned() = false
使用赋值运算符,其中应该使用相等运算符。分配需要左侧的左值(变量,而不是值)。
实际上你应该将那部分重写为
!b.isLoaned()
并且,考虑到更广泛的上下文,您可以考虑以下内容,这将在您修复上述内容后立即阻止等待您的编译器错误:
String loan = (b.isLoaned()? "Currently" : "Not currently") + " loaned";
以上内容取代了整个if-else
块。
答案 1 :(得分:1)
它会说是因为=
是您在下一行中使用的赋值运算符。
if (b.isLoaned() = false)
将其更改为以下内容:
if (b.isLoaned() == false)
或
if (!b.isLoaned())