我目前有一个名为 tomorrow()的方法,它修改了一个对象属性,在这种情况下是日,月,年(这不是java.util.Date ,我已经创建了自己的Date构造函数。)
因此,例如,如果我有一个名为date1(30,12,2013)的对象,并且我运行了date1.tomorrow(),则会使date1 =(1,1,2014)注意:我们目前假设所有月份都有30个天。
现在,如果我将它作为公共空白明天()并且只是写
,这样可以正常工作date1.showDate(); // show original value
date1.tomorrow(); // add 1 to day, do some if statements if day > 30, etc, etc
date1.showDate(); // show modified value
但是我希望明天()还有将修改日期打印为字符串的功能,显然我需要明天制作我的方法 public String ()并有一个返回部分,但我不完全确定我要返回的内容,我已经尝试返回showDate,但它无法正常工作。
非常感谢任何帮助。
注意:这是我目前的明天()方法
public void tomorrow()
{
this.day++;
if(this.day > 30)
{
this.day = 1;
this.month++;
}
if(this.month > 12)
{
this.month = 1;
this.year++;
}
}
答案 0 :(得分:0)
您的ShowDate()
必须仅打印,不返回任何内容。因此,如果您尝试返回ShowDate并且tomorrow()
中的返回类型为String
,则会给出编译时错误。
所以,你能做的是:
进入showDate()
方法,查找正在打印的内容,然后返回showDate()
打印在tomorrow()
中的相同内容。
从showDate()
打印与tomorrow()
打印完全相同的内容。在这种情况下,您无需修改tomorrow()
方法即可返回string
。
如果您不喜欢上述两个选项中的任何一个,并且您希望无论如何都将值返回为String
,请按照上面的PremGenError回答。
最后但并非最不重要,我建议你从明天起返回Date对象本身,并在该对象上调用showDate()。
答案 1 :(得分:0)
我不确定您是要打印日期还是返回字符串。 如果你想打印它,你可以这样做:
System.out.println(day + ......);
或假设 showDate()
打印
public void tomorrow()
{
....
showDate();
}
但是如果你想要返回它,你可以返回一个字符串,你可以从showDate()获得(假设它的public/private String showDate()
)
public String tomorrow()
{
....
return showDate();
}
如果你没有方法将日期作为字符串,因为showDate()
打印它,我建议实现它并在showDate
调用它,因为如果你想要改变格式,添加某事。或者它有一个错误,你不必多次写/纠正它。
答案 2 :(得分:0)
如果您的要求是在当前日期添加一天&将它作为字符串返回形成一个方法,您可以修改您的方法,如下所示:
public String getTomorrow(String today) throws ParseException {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd-MM-yyyy");
Calendar calendar = Calendar.getInstance();
calendar.setTime(simpleDateFormat.parse(today));
calendar.add(Calendar.DATE, 1); // Adding one day to input date
return simpleDateFormat.format(calendar.getTime());
}
请在下面找到样本测试结果以便更好地理解:
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
public class DateHelper {
public String getTomorrow(String today) throws ParseException {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd-MM-yyyy");
Calendar calendar = Calendar.getInstance();
calendar.setTime(simpleDateFormat.parse(today));
calendar.add(Calendar.DATE, 1); // Adding one day to input date
return simpleDateFormat.format(calendar.getTime());
}
public static void main(String[] args) throws ParseException {
DateHelper dateHelper = new DateHelper();
System.out.println(dateHelper.getTomorrow("28-02-2013"));
System.out.println(dateHelper.getTomorrow("04-03-2013"));
System.out.println(dateHelper.getTomorrow("31-03-2013"));
}
}
它将产生输出:
01-03-2013
05-03-2013
01-04-2013