Java言語で1年の何日目を取得します(年月日を入力してその年の何日目を求めます)
10612 ワード
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;
}
}
/* , , !( )*/