Java言語で1年の何日目を取得します(年月日を入力してその年の何日目を求めます)


Java言語で1年の何日目を書きます(年月日を入力してその年の何日目を求めます)
	public class Canlendar{
		public static void main(String [] args){
			//  Scanner   
			Scanner sc=new Scanner(System.in);
			System.out.println("      :   :2020-1-1");
			String s=sc.nextLine();
			//split                   ,    **"-"**
			String[] date=s.split("-");
			//      String     int  
			int year=new Integer(date[0]);
			int month=new Integer(date[1]);
			int day=new Integer(date[2]);
			//  getYearDays  
			int days=getYearDays(year,month,day);
			System.out.println(+year+" "+month+" "+day+"      "+days+" ");
		}
		/*
		(1)      :2018-11,         
	    30    4   6   9   11
	    31    1   3    5   7   8   10  12
	    28    2  
	    29    2       400  ,     4       100  
	 	*/
	 //  getMonthDays         
 		public static int getMonthDays(int year,int month){
 			int days=-1;
 			//  switch         
 			switch(month){
 			case 4:
 			case 6:
 			case 9:
 			case 11:
 					days=30;break;
 			case 1:
 			case 3:
 			case 5:
 			case 7:
 			case 8:
 			case 10:
 			case 12:
 					days=31;break;
 			case 2://                 
 				days=( year % 400 == 0 || year % 4 == 0 && year % 100 !=0)? 29:28;
 			}
 			return days;
 		}
 		/**
    	                     2020-4-12

	      1   2   3   4
	
	      31  29  31  12
	
	   */
	   //  getYearDays            
	   public static int getYearDays(int year,int month,int days){
	   int totalDays=0;
	   for(int i=1;i<month;i++){
	   //  getMonthDays             
	   		totalDays+=getMonthDays(year,month);
	   }
	   //totalDays          
	   return totalDays+days;
	   }
}

/*       ,                    ,  !(       )*/