package com.oneDayoneTi.demo03;
import sun.applet.Main;
import java.util.Scanner;
//输入年月日的值(均为整型数),输出该年份是否为闰年,同时输出该日期为星期几。
// 其中:年份的合法取值范围为[1820,2020] ,月份合法取值范围为[1,12] ,日期合法取值范围为[1,31] ;
// 判断星期几的算法如下:假定公元0001年1月1日为星期一,因此只要计算出当前输入日期离0001年1月1日所差的天数,
// 然后拿这个天数除以7求余数,当余数为0时,为星期日,当余数为1时,为星期一,以此类推,当余数为6时,为星期六。
public class Day406IsRunYear {
public static void main(String[] args) {
//输入年份
Scanner scanner = new Scanner(System.in);
Main Sc = new Main();
int year = scanner.nextInt();
int month = scanner.nextInt();
int day = scanner.nextInt();
/*int[]a = new int[3];
for (int i = 0; i < 3; i++) {
a[i] = scanner.nextInt();
}*/
//判断是否符合年份实际
if (year>2020||year<1820||month>12||month<1||day>31||day<1){
System.out.println("Wrong Format");
}
}
//判断闰年
public static boolean isLeapYear(int year) {
boolean isLeapYear = (year % 4 == 0 && year % 100 !=0 )||year % 400 == 0;
return isLeapYear;
}
//计算天数
public static int numOfDays(int year,int month ,int day){
int days = 0;
for (int i = 1; i <= year; i++) {
if (i%4==0){
days+=366;
}else{
days+=365;
}
}
int[] b = {0,31,28,31,30,31,30,31,31,30,31,30,31};
int[] c = {0,31,29,31,30,31,30,31,31,30,31,30,31};
if (year%4==0){
for (int i = 0; i < month; i++) {
days+=b[i];
}
}else{
for (int i = 0; i < month; i++) {
days+=c[i];
}
}
days+=day;
return days;
}
//计算星期几
public static String getWhatDay(int days){
if (days%7==0){
return "Sunday";
}else if (days%7==1){
return "Monday";
}else if (days%7==2){
return "Tuesday";
}else if (days%7==3){
return "Wednesday";
}else if (days%7==4){
return "Thursday";
}else if (days%7==5){
return "Friday";
}else
return "Saturday";
}
}
闰年没错
星期几可以用Calendar类来获取,这个是官方提供的专门用于日期的计算的
没看懂你想知道什么。。。