坚持创建一个Setter方法

时间:2016-11-29 01:35:12

标签: java

所以目前我已设法使用以下代码创建一个getter方法

public int getDivisor() {
    return this.divisor;
}

那将返回2.

我一直在为我的项目创建一个setter方法。问题是:为divisor编写一个公共setter方法,它将除数设置为参数的值。它不能是0,真的被困在这个问题上。有人可以帮忙吗?非常感谢。

我现在添加了以下方法

public void setValue(int number) {
    if(number == 0)
        this.divisor = number;
}

用于设置者消息。

输入消息divisor.SetValue();后,它返回错误找不到符号 - 方法SetValue()。我做错了吗?

5 个答案:

答案 0 :(得分:1)

setValue()SetValue()是两回事。名称区分大小写。这就是为什么编译器找不到setValue()因为你键入SetValue()

答案 1 :(得分:0)

只需在代码

上使用!=运算符,这意味着不等于

只是做:

public void setValue(int number) {

    if (number != 0)
        this.divisor = number;
    }
} 

这将检查给定的值是否不等于0,然后将继续将除数设置为数字。

答案 2 :(得分:0)

首先,固定方法名称,设置器应包含类似于setDivisor()的变量名称

第二,条件错误,仅当该值为零时,您的方法才分配该值。因此应该是:if(number!= 0)

最后,除数是一个变量,如果要在类中设置值,则可以只调用setDivisor(newDivisor)方法或this.setDivisor(newDivisor)

答案 3 :(得分:-1)

setter方法只是一个方法,它将变量的值设置为通常通过void类型的方法传递的参数的值,因为您没有返回任何值

public void setValue(int value){
    if(value != 0) this.divisor = value;
}

答案 4 :(得分:-1)

评论页面上的Gendarme答案帮助我解决了这个问题。

public void setValue(int number) {
    if(number == 0)
        this.divisor = number;
}