package java基礎.萬年歷制作;import java.util.Scanner;public class Calader{?public static void main(String[] args) {? ? ? ? while (true) {? ? ? ? int sum = 0;? ? ?? Scanner sc = new Scanner(System.in);? ? ?? System.out.println("查詢的年份");? ? ?? int year = sc.nextInt();? ? ? System.out.println("查詢的月份");? ? ? int month = sc.nextInt();???for (int i = 1900; i < year; i++) {? ? ? ? if (i % 400 == 0 || (i % 100 != 0 && i % 4 == 0)) {? ? ? ? ? ? ? ? sum += 366;? ? ? ? ? ?? } else {? ? ? ? ? ? ? ? ? ? ? ?? sum += 365;? ? ? ? ? ? ? ? ?? }? ?? }? ? ? ? ? int currentDay = 0;// 當月天數? ? ? ?? int totalDay = 0;// 當前年份到當前月份的總天數? ? ? ?? for (int i = 1; i <=month; i++) {? ? ? ? int day = 0;????switch (i) {? ? ? ? ? ? ? ? case 4:? ? ? ? ? ? ? ? case 6:? ? ? ? ? ? ? ? case 9:? ? ? ? ? ? ?? case 11:? ? ? ? ? ? ? ? ? ? ? ? ?? day = 30;? ? ? ? ? ? ? ? ?? break; ? ?? ? ? ? ? ?? case 2:? ? ? ? ? ? ? ? ? ? ? if (year % 400 == 0 || (year % 100 != 0 && year % 4 == 0)) {? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? day = 29;????? ? ? ? ? ? ? ? ? ? ? ?? } else {? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? day = 28;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }? ? ? ? ? ? ? ?? break;? ? ? ? ? ? default:? ? ? ? ? ? ? ? ? ? day = 31;????? ? ? ? ? ? ? break;? ? ? ? ? }????if (i == month) {?????currentDay = day;????}????totalDay += day;???}?????int allDays=sum+totalDay;//所有的天數的總和???int week = (allDays - currentDay) % 7;//多了一個所以減去一個月???System.out.println(week);???System.out.println("=====================================================");???System.out.println("星期一\t星期二\t星期三\t星期四\t星期五\t星期六\t星期日");???int blank = 0;???for (int i = 1; i <=week; i++) {????blank++;????System.out.print("\t");???}???// 打印天數???for (int i = 1; i <= currentDay; i++) {????if (blank % 7 == 0) {?????System.out.println();// 如果占位符和天數計數超過7則換行????}????blank++;??????System.out.print(i + "\t");???}??}?}}
添加回答
舉報
0/150
提交
取消