输入年月日判断为今年的第几天和周几?
判断今年第几天的方法:
package com.stx.xy.testdate;
public class Date {
public int day(int year,int month,int day){
int fed = 28;
int sum = 0;
if ((year%4==0&&year%100!=0)||year%400==0){
fed = 29;
}
switch (month){
case 1:
sum = day;
break;
case 2:
sum = 31+day;
break;
case 3:
sum = 31+fed+day;
break;
case 4:
sum = 31+fed+31+day;
break;
case 5:
sum = 31+fed+31+30+day;
break;
case 6:
sum = 31+fed+31+30+31+day;
break;
case 7:
sum = 31+fed+31+30+31+30+day;
break;
case 8:
sum = 31+fed+31+30+31+30+31+day;
break;
case 9:
sum = 31+fed+31+30+31+30+31+31+day;
break;
case 10:
sum = 31+fed+31+30+31+30+31+31+30+day;
break;
case 11:
sum = 31+fed+31+30+31+30+31+31+30+31+day;
break;
case 12:
sum = 31+fed+31+30+31+30+31+31+30+31+30+day;
break;
}
System.out.println(year+"年"+month+"月"+day+"日是"+year+"年的第"+sum+"天");
return sum;
}
}
判断为周几的方法:
package com.stx.xy.testdate;
public class Week {
//公元1年1月1日星期天
public void week(int year,int month,int day,int sum){
for (int i =1;i <year;i++){
if((i%4 == 0&&i%100!=0)||i%400==0){
sum +=366;
}else {
sum += 365;
}
}
if (sum % 7 ==0){
System.out.println("今天是周日");
}else {
System.out.println("今天是周"+sum%7);
}
}
}
主类:
package com.stx.xy.testdate;
import java.util.Scanner;
public class TestDate {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Date date = new Date();
Week week = new Week();
System.out.println("请输入年:");
int y = sc.nextInt();
while (true){
System.out.println("请输入月:");
int m = sc.nextInt();
System.out.println("请输入日:");
int d = sc.nextInt();
if (m<=12&&d<=31){
int sum =date.day(y,m,d);
week.week(y,m,d,sum);
break;
}else {
System.out.println("月/日输入错误,请重新输入。");
}
}
}
}