package dayprint; import java.util.*; public class DayPrint2 { public static void main(String[] args) { boolean leapFlag = false; int totalDays = 0; Scanner sc = new Scanner(System.in); System.out.println("曜日の日付判定を致します。日付を入力して下さい。"); System.out.print("年: "); int year = Integer.parseInt(sc.nextLine()); System.out.print("月: "); int month = Integer.parseInt(sc.nextLine()); System.out.print("日: "); int day = Integer.parseInt(sc.nextLine()); if((year%4 == 0 && year%100 != 0) || year%400 == 0){ leapFlag = true; } int gap = year - 1601; totalDays = 365*gap + gap/4 - gap/100 + gap/400; for(int i = 1; i < month; i++){ switch(i){ case 1: case 3: case 5: case 7: case 8: case 10: case 12: totalDays += 31; break; case 2: totalDays += leapFlag ? 29 : 28; break; case 4: case 6: case 9: case 11: totalDays += 30; break; } } totalDays += day; String[] dayOfWeek = {"日","月","火","水","木","金","土"}; System.out.println("あなたの入力された日付は" + dayOfWeek[totalDays%7] + "です。"); } }