构造⼀个⽇期类(MyDate.java),
构造⼀个⽇期类(MyDate.java),
要求:
1、包含年、⽉、⽇ 三个私有属性;
2、提供⽆参构造⽅法,提供全部属性的构造⽅法;
3、在私有属性的Setter和Getter⽅法的代码修改,保证年份在1-9999年,⽉为1-12⽉,⽇为1-31天。
4、并提供按”yyyy-MM-dd”格式的字符串存取⽇期的⽅法;实例化⼀个该类后,输⼊⼀个⽇期,可以计算出该⽇期是当年的第⼏天,要求计算天数的⽅法由⽇期类提供,可直接通过该类的实例去调⽤。
⽇期类:
package Mydate;
public class Myday {
private int years;
private int month;
private int day;
String rq;// ⽤来存放⽇期字符串
int tianshu[]={0,31,0,31,30,31,30,31,31,30,31,30,31};// ⽤来存放每⽉的天数
int sum;// 计算为该年的第⼏天
// ⽆参构造⽅法//
Myday(){
}
// 所有属性有参构造⽅法
Myday(int years, int month, int day){
this.day = day;
}
// 构造所有属性的GETTERS STETERS⽅法
public int getYears(){
return years;
}
public void setYears(int years){
if(1<= years && years <=9999){
}else{
System.out.println("输⼊年份有误");
}
}
public int getMonth(){
return month;
}
public void setMonth(int month){
if(1<= month && month <=12){
}else{
System.out.println("输⼊⽉份有误");
}
}
public int getDay(){
return day;
}
public void setDay(int day){
if(0< day && day <=31){
// 如果是2⽉
if(month ==2){
// 如果是闰年
if(years %4==0&& years %100!=0){
if(day <=29){
// 把2⽉份的天数设置为29天
tianshu[2]=29;
this.day = day;
}else{
System.out.println("输⼊天数有误");
}
}else{
if(day <=28){
// 把2⽉份的天数设置为28天
tianshu[2]=28;
this.day = day;
}else{
System.out.println("输⼊天数有误");
}
}
}
// 如果不是2⽉,⽉份为1,3,5,7,8,10,12
else if(month ==1|| month ==3|| month ==5|| month ==7|| month ==8|| month ==10|| month ==12){ if(day <=31){
this.day = day;
}
}else{
if(day <=30){
this.day = day;
}else{
System.out.println("输⼊天数有误");
}
}
}
}
// ⽤字符串"yyyy-mm-dd"样式存放⽇期
public String Riqi(){
if(month <10){
rq = years +"-"+0+ month +"-"+ day;
}else{
rq = years +"-"+ month +"-"+ day;
}
return"存放⽇期成功:"+ rq;nextint()方法
}
// 在这个⽇期类⾥设置⼀个⽅法来计算当前⽇期为该年的第⼏天
public String Sum(){
for(int j =1; j < month; j++){
sum = sum + tianshu[j];
}
sum = sum + day;
return month +"⽉"+ day +"⽇"+"为该年的第"+this.sum +"天";
}
}
测试类
package Mydate;
public class DateTest {
public static void main(String[] arge){
Myday M=new Myday();
java.util.Scanner s =new java.util.Scanner(System.in); //分别设置⽇期
System.out.println("请输⼊年份");
M.Int());
System.out.println("请输⼊⽉份");
M.Int());
System.out.println("请输⼊⽇");
M.Int());
//调⽤存放⽇期⽅法
System.out.println(M.Riqi());
//调⽤计算天数⽅法
System.out.println(M.Sum());
}
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论