久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Java怎么實現(xiàn)簡單的萬年歷

165次閱讀
沒有評論

共計 1294 個字符,預(yù)計需要花費 4 分鐘才能閱讀完成。

以下是一個簡單的 Java 實現(xiàn)萬年歷的代碼示例:

import java.util.Scanner;
public class Calendar {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);
System.out.print("請輸入年份:");
int year = scanner.nextInt();
System.out.print("請輸入月份:");
int month = scanner.nextInt();
printCalendar(year, month);
}
public static void printCalendar(int year, int month) {int totalDays = getDaysOfMonth(year, month);
int firstDayOfWeek = getFirstDayOfWeek(year, month);
System.out.println("日 一 二 三 四 五 六");
// 打印月份第一天之前的空格
for (int i = 0; i < firstDayOfWeek; i++) {System.out.print("   ");
}
// 打印日期
for (int i = 1; i <= totalDays; i++) {System.out.printf("%2d ", i);
// 換行
if ((i + firstDayOfWeek) % 7 == 0) {System.out.println();
}
}
}
public static int getDaysOfMonth(int year, int month) {int[] daysOfMonth = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
// 判斷閏年
if (isLeapYear(year) && month == 2) {return 29;}
return daysOfMonth[month - 1];
}
public static int getFirstDayOfWeek(int year, int month) {
// 使用 Zeller 公式計算星期幾
if (month < 3) {
month += 12;
year--;
}
int century = year / 100;
year %= 100;
int dayOfWeek = (year + year / 4 + century / 4 - 2 * century + 26 * (month + 1) / 10) % 7;
// 轉(zhuǎn)換為星期日起始的數(shù)字
return (dayOfWeek + 7) % 7;
}
public static boolean isLeapYear(int year) {return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}
}

使用 Scanner 類獲取用戶輸入的年份和月份,然后調(diào)用 printCalendar() 方法打印萬年歷。printCalendar()方法內(nèi)部使用 getDaysOfMonth() 方法獲取指定月份的天數(shù),getFirstDayOfWeek()方法獲取指定年份和月份的第一天是星期幾。最后,使用循環(huán)打印出萬年歷的日歷部分。

丸趣 TV 網(wǎng) – 提供最優(yōu)質(zhì)的資源集合!

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-12-22發(fā)表,共計1294字。
轉(zhuǎn)載說明:除特殊說明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 乌鲁木齐县| 芜湖市| 兴海县| 常宁市| 天津市| 神池县| 宜春市| 饶平县| 方正县| 黑山县| 盘锦市| 晋宁县| 临朐县| 年辖:市辖区| 彩票| 逊克县| 永寿县| 阳信县| 万年县| 华坪县| 荔波县| 永定县| 宁化县| 定安县| 神池县| 临邑县| 静乐县| 余干县| 南城县| 濮阳市| 磴口县| 永嘉县| 文昌市| 肇东市| 彰化市| 宜阳县| 诏安县| 申扎县| 留坝县| 青岛市| 舒兰市|