2016-01-28 22 views
1

所以我试图增加存储在getDay()中的值1,但此方法不起作用。有什么建议?感谢我该如何更改方法传递的值?

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

你有setDay(int day)吗? –

+0

你能告诉我们更多的类源代码吗? – Jason

+0

是否有getMonth()和getYear()方法? –

回答

2

你可以“T更新由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); 
} 
+0

我们不能触摸getday方法,所以我不能将temp放在参数中。有一个看起来像这个公共IncDate的setter(int month,int day,int year) super(month,day,year); } 我们也无法对此进行任何更改。 – john

+0

你不应该触碰'getDay()'方法。它的目的是'获取''日'。如果有'setDay()'方法,你应该尝试使用它,看看它是否能解决你的问题。 – Jason

+0

那么我如何使用增量方法设置变量? – john

2

您使用

getDay() = temp; 

但是这意味着调用方法和返回值设置为临时...左右。

尝试将getDay()处理的初始值设置为temp。 您需要在包含该值的类中找到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

您无法通过增加一个函数的返回值只是给它分配一个值。我认为您需要了解更多关于功能/方法以及它们的工作方式。

相关问题