Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package project.two;
- public class Date {
- private int day;
- private int month;
- private int year;
- Date(){} // No parameter constructor
- Date(int day){this(day, 0,0);}
- Date(int day, int month){this(day, month,0);}
- Date(int day, int month, int year){
- this.day=day;
- this.month=month;
- this.year = year;
- }
- void setDate(int day, int month, int year) {
- if(day < 0 || day> 7||month <0 || month > 31|| year < 0)
- System.out.println("Illegal inputs.");
- this.day=day;
- this.month=month;
- this.year=year;
- }
- void setDay(int day){this.day=day;}
- void setMonth(int month){this.month= month;}
- void setYear(int year){this.year=year;}
- int getDay(){return day;}
- int getMonth(){return month;}
- int getYear(){return year;}
- private boolean isLeapYear(){
- return (getYear() % 400 == 0);
- }
- public int getDaysInTheMonth(int month){
- switch (month){
- case 1:case 3:
- case 5:case 7:
- case 8:case 10:
- case 12:
- return 31;
- case 2:
- return (isLeapYear()? 29: 28);
- case 4: case 6:
- case 9: case 11:
- return 30;
- default:
- return -1;
- }
- }
- public int daysPassedInYears(int year){
- int totalDays = 0;
- for(int i= 1; i <= getMonth(); i++){
- totalDays+= getDaysInTheMonth(i);
- }
- return year *365 + totalDays;
- }
- public int daysRemainingItTheYear(){
- int totalDays = 0;
- for(int i= 1; i <= getMonth(); i++){
- totalDays+= getDaysInTheMonth(i);
- }
- return 360 - totalDays - getDay();
- }
- public void addDays(int days){
- int totalDays = days + getDay();
- while (true){
- if(totalDays > 28)
- setMonth(getMonth()+1);
- else if(getMonth() > 12)
- setYear(getYear()+1);
- else if(totalDays < 28) {
- setDay(totalDays);
- return;
- }
- totalDays-= getDaysInTheMonth(getMonth());
- }
- }
- @Override
- public String toString(){
- return getMonth() +" - "+getDay()+" - "+getYear();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement