我有一种方法可以找到后一天,但我不知道如何返回所有3个值的日,月,年。请帮助我。任何帮助表示赞赏。谢谢。
public int dayInMonth(int day,int month,int year){
//....
return day;
}
public int theDayAfter(int day, int month, int year) {
day++;
int max=dayInMonth(day,month,year);
if(day>max)
{
month++;
if(month>12)
{
year++;
month=1;
day=1;
}
}
return ;
}
答案 0 :(得分:1)
这是一个有效的疑问,一年前我甚至面临着类似的疑问。
我发现从方法返回这些值的最佳方法是以Object的类型返回它。在这个例子中,如果我要返回日,月和年,那么我将按如下方式创建一个类:
public class DateOfYear{
public int day;
public String month;
public int year;
public DateOfYear(int day, String month, int year){
this.day = day;
this.month = month;
this.year = year;
}
}
现在我将使用此类 DateofYear 实例化它并将值作为对象发送。因此,如果您想获得该月的日期,该功能将如下:
public DateOfYear dayInMonth(int day,int month,int year){
//....
return new DateOfYear(day,month,year);
}
并且调用函数可以如下显示当前日期:
System.out.println("Day: "+dayInMonth(day,month,year).day);
类似地,方法 theDayAfter 只需更改返回类型并返回DateOfYear类型的对象。
public DateOfYear theDayAfter(int day, int month, int year) {
day++;
int max=dayInMonth(day,month,year);
if(day>max)
{
month++;
if(month>12)
{
year++;
month=1;
day=1;
}
}
return new DateOfYear(day, month, year);
}
调用 theDayAfter() 的方法可以显示第二天,如下所示:
System.out.println("Next Day: "+theDayAfter(day,month,year).day);
System.out.println("Month: "+theDayAfter(day,month,year).month);
System.out.println("Year: "+theDayAfter(day,month,year).year);