この記事では万年カレンダーの作り方を紹介していますが、記事内に間違いがあればご批判・修正していただければ幸いです。
(推奨チュートリアル: java コース)
コード実装:
package com.softeem.test01; import java.time.Month; import java.time.Year; import java.util.Scanner; public class DynamicCalendar { private int y; private int m; public DynamicCalendar(int y, int m) { this.y = y; this.m = m; } public boolean year(int ye) { return ye % 4 == 0 && ye % 100 != 0 || ye % 400 == 0; } public int month(int ye, int mon) { if (mon < 1 || mon > 12) { System.out.println("输入错误"); return 0; } switch (mon) { case 4: case 6: case 9: case 11: return 30; case 2: return year(ye) ? 29 : 28; default: return 31; } } public int method() { int count = 0; for (int i = 1900; i < this.y; i++) { count += year(i) ? 366 : 365; } for (int i = 1; i < m; i++) { count += month(this.y, i); } return count; } public void printCalendar() { int space = method() % 7; int count = month(y, m); System.out.println("==============万年历【" + y + "】年【" + m + "】月==================="); System.out.println("一\t二\t三\t四\t五\t六\t日"); System.out.println("=================================================="); int sum = 0; for (int i = 0; i < space; i++) { System.out.print("\t"); sum++; } for (int i = 1; i < count; i++) { sum++; System.out.print(i + "\t"); if (sum == 7) { System.out.println(); sum = 0; } } } public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("请输入年份:"); int y = sc.nextInt(); System.out.print("请输入月份:"); int m = sc.nextInt(); DynamicCalendar dc = new DynamicCalendar(y, m); dc.printCalendar(); } }
出力結果:
関連する推奨事項:Java の概要
以上がJavaを使用して永久カレンダーを作成するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。