提问人:Finlay 提问时间:12/9/2014 最后编辑:Finlay 更新时间:6/7/2021 访问量:72
为什么我不能为另一个类拉取方法?
Why can't I pull a method for another class?
问:
我无法弄清楚为什么我的编译器有问题。我正在尝试从另一个类中提取一个简单的 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 是我存储 book 对象的数组列表的名称。
答:
1赞
Marko Topolnik
12/9/2014
#1
线
b.isLoaned() = false
使用赋值运算符,其中应使用相等运算符。赋值需要左侧的左值(变量,而不是值)。
实际上,您应该将该部分重写为
!b.isLoaned()
而且,考虑到更广泛的上下文,您可以考虑以下几点,这将在您解决上述问题后立即防止等待您的编译器错误:
String loan = (b.isLoaned()? "Currently" : "Not currently") + " loaned";
以上内容将替换您的整个块。if-else
评论
0赞
Finlay
12/9/2014
多么尴尬。非常感谢:)
1赞
Darshan Lila
12/9/2014
#2
它会这么说,因为是您在下一行中使用的赋值运算符。=
if (b.isLoaned() = false)
将其更改为以下内容:
if (b.isLoaned() == false)
或
if (!b.isLoaned())
评论
if (b.isLoaned() = false)
???book.getTitle()
b.getTitle