-
Notifications
You must be signed in to change notification settings - Fork 0
09.曜日の判定
domanthan edited this page Jun 22, 2020
·
1 revision
/**
*
*/
package lesson05;
import lesson.common.CalendarUtil;
/**
* @author gridscale
*
*/
public class TestWeekDay {
/**
* @param args
*/
public static void main(String[] args) {
// TODO 2030年3月1日は何曜日ですか。
// > Step1: 西暦1、2、3、、、、、2019年はそれぞれお何日ありますか?
// > ヒント:うる年以外はみんな1年間=365日
int sum1 = 0;
for (int year = 1; year < 2020; year++) {
sum1 += CalendarUtil.howManyDaysOf(year);
}
// > Step2: 2020年1月1日~1月31日までは何日ありますか。
int sum2 = CalendarUtil.howManyDaysOfMonth(2020,1);
// 2月1日から9日までは9日
int today = 9;
// > Step3: 西暦1年1月1日から2030年3月1日までは何日ありますか。
// 上記の日数の合計。
int totalDays = sum1 + sum2 + today;
// > Step4: 1週間は7日だから、Step3の日数÷7の余りを求め、3月1日は何曜日と判る。
int remainder = totalDays % 7;
String weekDay = "";
switch (remainder) {
case 0: weekDay = "日曜日"; break;
case 1: weekDay = "月曜日"; break;
case 2: weekDay = "火曜日"; break;
case 3: weekDay = "水曜日"; break;
case 4: weekDay = "木曜日"; break;
case 5: weekDay = "金曜日"; break;
case 6: weekDay = "土曜日"; break;
}
System.out.println("2020年2月9日は" + weekDay);
}
}