如何更改方法传递的值?

时间:2016-01-28 01:57:49

标签: java

所以我试图将存储在getDay()中的值增加1,但这种方法不起作用。任何建议?感谢

if(getDay()<1 || getDay()>31);
        {
        int temp = getDay();
        temp++;
        getDay() = temp;
        }

3 个答案:

答案 0 :(得分:2)

您正在使用

getDay() = temp;

但这意味着调用方法并将返回值设置为temp ...左右。

尝试将初始值设置为tempDay()处理的临时值。 您需要在包含该值的类中找到getDay()告知的值并直接访问它。抱歉我的英文

例如: 你的方法:

public int getDay(){return day;}

设置方法:

public void setDay(int dayPassed){
day= dayPassed;

}

在你的例子中

if(getDay()<1 || getDay()>31);
    {
    int temp = getDay();
    temp++;
    setDay(temp);
    }

答案 1 :(得分:2)

您无法以这种方式更新getDay()返回的值:

getDay() = temp;  <-- this won't work

相反,如果存在setDay()方法,那么您可以调用它:

setDay(temp);

或者,您需要阅读getDay()方法的代码,并弄清楚如何在该代码中设置值。

修改

因此,您的代码可能如下所示:

if(getDay()<1 || getDay()>31)
{
    int temp = getDay();
    temp++;
    setDay(temp);
}

或者...

if(getDay()<1 || getDay()>31)
{
    int temp = getDay();
    setDay(++temp);
}

答案 2 :(得分:1)

您只需为其赋值即可增加函数的返回值。我认为您需要了解更多有关功能/方法及其工作原理的信息。