You are viewing a single comment's thread. Return to all comments →
import static java.lang.System.exit; import java.util.Scanner; public class weekday { public static void main (String args[]){ int d,m,y,weekday=0,flag=0,j = 0; Scanner sc= new Scanner (System.in); d=sc.nextInt(); m=sc.nextInt(); y=sc.nextInt(); if(d<0||d>31||m>12||m<0){ System.out.print("invalid date"); exit(1); } if(m==4||m==6||m==9||m==11){ if(d>30){ System.out.print("invalid date"); exit(1); } } else if(m==1||m==3||m==5||m==7||m==8||m==10||m==12){ if(d>31){ System.out.print("invalid date"); exit(1); } } if((y%4==0&&y%100!=0)||(y%400==0)){ flag=1; j=29; if (m==2){ if(d>29){ System.out.print("invalid date"); exit(1); } } } else if(m==2){ flag=0; j=28; if(d>28){ System.out.print("invalid date"); exit(1); } } y=y-1; y=y%400; if(y>300){ y=y%300; weekday+=1; weekday+=((y+(y/4))%7); } else if(y>200){ y=y%200; weekday+=3; weekday+=((y+(y/4))%7); } else if(y>100){ y=y%100; weekday+=5; weekday+=((y+(y/4))%7); } else { weekday+=((y+(y/4))%7); } int dd=0; switch(m) { case 1:dd+=d; weekday+=dd%7; break; case 2:dd+=31+d; weekday+=dd%7; break; case 3:if(flag==0) {
dd+=31+j+d; weekday+=dd%7; break; } else { dd+=31+j+d; weekday+=dd%7; break; } case 4:dd+=31+j+31+d; weekday+=dd%7; break; case 5:dd+=31+j+31+30+d; weekday+=dd%7; break; case 6:dd+=31+j+31+30+31+d; weekday+=dd%7; break; case 7:dd+=31+j+31+30+31+30+d; weekday+=dd%7; break; case 8:dd+=31+j+31+30+31+30+31+d; weekday+=dd%7; break; case 9:dd+=31+j+31+30+31+30+31+31+d; weekday+=dd%7; break; case 10:dd+=31+j+31+30+31+30+31+31+30+d; weekday+=dd%7; break; case 11:dd+=31+j+31+30+31+30+31+31+30+31+d; weekday+=dd%7; break; case 12:dd+=31+j+31+30+31+30+31+31+30+31+30+d; weekday+=dd%7; break; } weekday=weekday%7; switch(weekday){ case 0 : System.out.print("sunday"); break; case 1 : System.out.print("monday"); break; case 2 : System.out.print("tuesday"); break; case 3 : System.out.print("wednesday"); break; case 4 : System.out.print("thursday"); break; case 5 : System.out.print("friday"); break; case 6 : System.out.print("saturday"); break; } }
}
Java Date and Time
You are viewing a single comment's thread. Return to all comments →
import static java.lang.System.exit; import java.util.Scanner; public class weekday { public static void main (String args[]){ int d,m,y,weekday=0,flag=0,j = 0; Scanner sc= new Scanner (System.in); d=sc.nextInt(); m=sc.nextInt(); y=sc.nextInt(); if(d<0||d>31||m>12||m<0){ System.out.print("invalid date"); exit(1); } if(m==4||m==6||m==9||m==11){ if(d>30){ System.out.print("invalid date"); exit(1); } } else if(m==1||m==3||m==5||m==7||m==8||m==10||m==12){ if(d>31){ System.out.print("invalid date"); exit(1); } }
if((y%4==0&&y%100!=0)||(y%400==0)){ flag=1; j=29; if (m==2){ if(d>29){ System.out.print("invalid date"); exit(1); } } } else if(m==2){ flag=0; j=28; if(d>28){ System.out.print("invalid date"); exit(1); } } y=y-1; y=y%400; if(y>300){ y=y%300; weekday+=1; weekday+=((y+(y/4))%7); } else if(y>200){ y=y%200; weekday+=3; weekday+=((y+(y/4))%7); } else if(y>100){ y=y%100; weekday+=5; weekday+=((y+(y/4))%7); } else { weekday+=((y+(y/4))%7); } int dd=0; switch(m) { case 1:dd+=d; weekday+=dd%7; break; case 2:dd+=31+d; weekday+=dd%7; break; case 3:if(flag==0) {
}