这里有新鲜出炉的 Java 函数式编程,程序狗速度看过来!
java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言和 Java 平台(即 JavaEE(j2ee), JavaME(j2me), JavaSE(j2se))的总称。
这篇文章主要介绍了 JAVA 实现的简单万年历代码, 涉及 Java 日期操作的相关技巧, 具有一定参考借鉴价值, 需要的朋友可以参考下
本文实例讲述了 JAVA 实现的简单万年历。分享给大家供大家参考,具体如下:
- import java.util.Scanner;
- public class PrintCalendar {
- public static void main(String[] args) {
- int years = 0;
- int month = 0;
- int days = 0;
- boolean isRun = false;
- //從控制台輸入年,月
- Scanner input = new Scanner(System. in );
- System.out.print("請輸入年份:");
- years = input.nextInt();
- System.out.print("請輸入月份:");
- month = input.nextInt();
- System.out.println("\n*********" + years + "年" + month + "月 日曆表************");
- //判断是否是闰年
- if ((years % 4 == 0 && years % 100 != 0) || (years % 400 == 0)) {
- isRun = true;
- }
- int totalDays = 0; //累計天數
- //計算距離1900年1月1日的天數
- for (int i = 1900; i < years; i++) {
- if ((i % 4 == 0 && i % 100 != 0) || (i % 400 == 0)) {
- totalDays = totalDays + 366;
- } else {
- totalDays = totalDays + 365;
- }
- }
- int beforeDays = 0;
- //根據月份判斷天數
- for (int j = 1; j <= month; j++) {
- switch (j) {
- case 1:
- case 3:
- case 5:
- case 7:
- case 8:
- case 10:
- case 12:
- days = 31;
- break;
- case 4:
- case 6:
- case 9:
- case 11:
- days = 30;
- break;
- case 2:
- if (isRun) {
- days = 29;
- } else {
- days = 28;
- }
- default:
- System.out.println("输入月份不正确!!");
- }
- if (j < month) {
- beforeDays = beforeDays + days;
- }
- }
- totalDays = totalDays + beforeDays; //統計到目前總天數
- int firstDayOfMonth = 0;
- int temp = 1 + totalDays % 7;
- if (temp == 7) {
- firstDayOfMonth = 0; //週日
- } else {
- firstDayOfMonth = temp;
- }
- /* 输出日历 */
- System.out.println("星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六");
- for (int k = 0; k < firstDayOfMonth; k++) {
- System.out.print("\t");
- }
- for (int m = 1; m <= days; m++) {
- System.out.print(m + "\t");
- if ((totalDays + m) % 7 == 6) {
- System.out.print("\n");
- }
- }
- }
- }
关于万年历的制作感兴趣的朋友还可参考本站在线工具:
希望本文所述对大家 Java 程序设计有所帮助。
来源: http://www.phperz.com/article/17/0721/234871.html