统计某年某月某天是这一年的第几天

import java.util.Scanner;


//统计某年某月某天是这一年的第几天
public class StatisticDays{
//用户的输入
public static int inputMethod(){
Scanner input = new Scanner(System.in);
int value = input.nextInt();
return value;

//判断是否是闰年
public static boolean isLeapYear(int year){
if ((year % 400 == 0) || (year % 4 == 0 && year % 100 != 0)) {
return true;
}
return false;
}
//统计天数
public static int countDays(int month,boolean flag){
int days = 0;
int day = 0;
for (int i=1; i < month; i++){
    switch (i) {
case 1:
case 3:   
case 5:
case 7:
case 8:
case 10:
case 12:
 day = 31;
break;
case 4:
case 6:
case 9:
case 11:
 day = 30;
break;
case 2:
 if (flag == true) {
  day = 29;
 } else {
  day = 28;
 }
 break;
}
    days += day;
    }
// System.out.println(days);
return days;
}

public static void main(String[] args){
int year,month,day;
int e;//为用户的输入做判断
boolean flag;//判断是否是闰年
do{
e = 0;
   System.out.print("输入年:");
year = inputMethod();
System.out.print("输入月:");
month = inputMethod();
System.out.print("输入天:");
day = inputMethod();
flag = isLeapYear(year);//判断是否是闰年
// System.out.println(flag);
if(month < 1 || month > 12 || day < 1 || day > 31){
System.out.println("输入错误,请重新输入!");
   e=1 ;
}else if(month == 2){
if(flag == true && day > 30){
System.out.println("输入错误,请重新输入!");
e=1 ;
}else if(day>29){
System.out.println("输入错误,请重新输入!");
e=1 ;
}
}
if(month % 2 != 0 && month < 8 && day>31){
//判断你1,3,5,7月用户输入的天数是否小于31天
    System.out.println("输入错误,请重新输入!");
   e=1 ; 
}else if(month % 2 == 0 && month > 7 && day>31){
//判断你8,10,12月用户输入的天数是否小于31天
System.out.println("输入错误,请重新输入!");
   e=1 ; 
}else if(month!=2 && day>30){
//判断你4,6,9,11月用户输入的天数是否小于30天
System.out.println("输入错误,请重新输入!");
   e=1 ; 
}
}while(e==1);//判断用户是否输入有误,如果输入的月份不存在或,重新输入
int days = countDays(month,flag);
System.out.println(year + "-" + month + "-" + day + "是这年的第" + (days+day) + "天。");

}
}

你可能感兴趣的:(统计某年某月某天是这一年的第几天)