【问题标题】:Why can't I pull a method for another class?为什么我不能为另一个类提取方法?
【发布时间】:2015-02-07 04:12:50
【问题描述】:

我不知道为什么我的编译器有问题。我正在尝试从另一个类中提取一个简单的 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 是我存储书籍对象的数组列表的名称。

【问题讨论】:

  • if (b.isLoaned() = false) ???
  • 除了你使用book.getTitle()在哪里你应该使用b.getTitle
  • 哎呀。最近改了变量名。

标签: java if-statement for-loop arraylist assignment-operator


【解决方案1】:

线

b.isLoaned() = false

在应该使用相等运算符的地方使用赋值运算符。赋值需要左侧的左值(变量,而不是值)。

事实上你应该把那部分改写成just

!b.isLoaned()

并且,考虑到更广泛的上下文,您可以考虑以下内容,这将在您修复上述问题后防止等待您的编译器错误:

String loan = (b.isLoaned()? "Currently" : "Not currently") + " loaned";

以上内容替换了您的整个 if-else 块。

【讨论】:

  • 好尴尬。非常感谢:)
【解决方案2】:

它会这么说,因为= 是您在下一行中使用的赋值运算符。

if (b.isLoaned() = false)

改成如下:

if (b.isLoaned() == false)

if (!b.isLoaned())

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-24
    • 2023-01-13
    • 1970-01-01
    • 2013-11-06
    • 1970-01-01
    • 1970-01-01
    • 2019-05-08
    相关资源
    最近更新 更多