求解JAVA题,创建一个Date类,类中有年,月,日3个成员变量,要求实现以下功能

(1)创建构造方法初始化成员变量(2)创建一个publicvoidsetData(intyear,intmonth,intday)方法,更改成员变量的值,方法中的3个参数... (1)创建构造方法初始化成员变量
(2)创建一个public void setData(int year, int month, int day)方法,更改成员变量的值,方法中的3个参数代表年,月,日。拒绝非法日期的输入。
(3)创建一个 public void addOneDay()方法实现在原有日期上加一天。
(4)创建一个public void display()方法实现用日/月/年的格式输出日期。

要求:
1.对闰年和非闰年判断
2.正确修改日期和日期加一天的情况要运行并显示
3.对年或月或日期错误的修改情况要有提示信息
4.对每月的最后一天和每年的最后一天加一天情况要运行并显 示(注意每月有30天或31天,闰年有28天或29天)
展开
 我来答
优质内容提供者andy
推荐于2017-09-17 · TA获得超过1561个赞
知道大有可为答主
回答量:2551
采纳率:72%
帮助的人:749万
展开全部
package arraylist;

public class Date
{

private int year;
private int month;
private int day;

public Date(int year, int month, int day)
{
this.setYear(year);
this.setMonth(month);
this.setDay(day);
}

public void setDate(int year, int month, int day)
{
this.setYear(year);
this.setMonth(month);
this.setDay(day);
}

public int getYear()
{
return year;
}

public void setYear(int year)
{
if (year > 0 && year < 2015)
{
this.year = year;
}
else
{
year = -1;
}
}

public int getMonth()
{
return month;
}

public void setMonth(int month)
{
if (month > 0 && month <= 12)
{
this.month = month;
}
else
{
month = -1;
}
}

public int getDay()
{
return day;
}

public void setDay(int day)
{
if (day >= 1 && day <= 31)
{
this.day = day;
}
else
{
day = -1;
}
}

public void addOneDay()
{
switch (this.getMonth())
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
if (this.getDay() != 31)
{
this.setDay(this.getDay() + 1);
}
else
{
if (this.getMonth() == 12)
{
this.setYear(this.getYear() + 1);
this.setMonth(1);
this.setDay(1);
}else{
this.setMonth(this.getMonth() + 1);
this.setDay(1);
}
}
break;
case 4:
case 6:
case 9:
case 11:
if (this.getDay() != 30)
{
this.setDay(this.getDay() + 1);
}
else
{
this.setMonth(this.getMonth() + 1);
this.setDay(1);

}
break;
case 2:
if (this.getYear() % 4 == 0 && this.getYear() % 100 != 0 || this.getYear() % 400 == 0)
{
if (this.getDay() != 29)
{
this.setDay(this.getDay() + 1);
}
else
{
this.setMonth(this.getMonth() + 1);
this.setDay(1);
}
}else{
if (this.getDay() != 28)
{
this.setDay(this.getDay() + 1);
}
else
{
this.setMonth(this.getMonth() + 1);
this.setDay(1);
}

}

}
}

public void display(){
System.out.println("你需要的日期是" + this.getYear() + "年" + this.getMonth() + "月" + this.getDay() + "日");
}

public static void main(String [] args){
Date d = new Date(1999, 11, 30);
d.display();
d.addOneDay();
d.display();
}
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
readclub读者
2015-03-20 · 超过30用户采纳过TA的回答
知道答主
回答量:104
采纳率:0%
帮助的人:41.8万
展开全部
很简单的这个,自己先试试看!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2015-03-20
展开全部
用日历类进行日期操作就好了,不用自己考虑闰年等
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式