📜  使用小程序的日历 java 程序 - Java (1)

📅  最后修改于: 2023-12-03 14:49:54.485000             🧑  作者: Mango

使用小程序的日历 Java 程序 - Java

简介

本文介绍了如何使用 Java 编程语言来创建一个小程序的日历程序。该程序可以用于显示日历并在其中添加和编辑事件。

准备工作

在开始编写程序之前,请确保已经安装了 Java 开发环境,并熟悉基本的 Java 编程知识。

依赖环境
  • JDK 8+
  • Maven
项目结构

首先,创建一个新的 Maven 项目,并按照下面的结构组织代码文件:

.
├── src
│   ├── main
│   │   ├── java
│   │   │   └── com
│   │   │       └── example
│   │   │           ├── model
│   │   │           │   └── Event.java
│   │   │           ├── util
│   │   │           │   └── CalendarUtil.java
│   │   │           └── App.java
│   │   └── resources
│   └── test
│       └── java
└── pom.xml
类和功能说明
Event 类
package com.example.model;

import java.time.LocalDate;

public class Event {
    private LocalDate date;
    private String description;

    public Event(LocalDate date, String description) {
        this.date = date;
        this.description = description;
    }

    // getters and setters
}
CalendarUtil 类
package com.example.util;

import java.time.DayOfWeek;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List;

public class CalendarUtil {
    public static List<LocalDate> getDatesInMonth(int year, int month) {
        List<LocalDate> dates = new ArrayList<>();
        LocalDate start = LocalDate.of(year, month, 1);
        LocalDate end = start.plusMonths(1).minusDays(1);

        LocalDate date = start;
        while (!date.isAfter(end)) {
            dates.add(date);
            date = date.plusDays(1);
        }

        return dates;
    }

    public static boolean isWeekend(LocalDate date) {
        DayOfWeek dayOfWeek = date.getDayOfWeek();
        return dayOfWeek == DayOfWeek.SATURDAY || dayOfWeek == DayOfWeek.SUNDAY;
    }
}
App 类
package com.example;

import com.example.model.Event;
import com.example.util.CalendarUtil;

import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List;

public class App {
    public static void main(String[] args) {
        int year = 2022;
        int month = 1;

        // 获取指定月份的日期列表
        List<LocalDate> dates = CalendarUtil.getDatesInMonth(year, month);

        // 创建事件列表
        List<Event> events = new ArrayList<>();
        events.add(new Event(LocalDate.of(2022, 1, 1), "元旦"));
        events.add(new Event(LocalDate.of(2022, 1, 14), "春节"));

        for (LocalDate date : dates) {
            System.out.printf("%2d ", date.getDayOfMonth());

            // 判断是否为周末
            if (CalendarUtil.isWeekend(date)) {
                System.out.print("*");
            } else {
                boolean hasEvent = false;

                // 查找事件
                for (Event event : events) {
                    if (event.getDate().isEqual(date)) {
                        System.out.print(event.getDescription());
                        hasEvent = true;
                        break;
                    }
                }

                if (!hasEvent) {
                    System.out.print(" ");
                }
            }

            System.out.println();
        }
    }
}
编译和运行
  1. 在命令行中进入项目根目录。
  2. 使用 Maven 编译项目:mvn compile
  3. 使用 Maven 运行项目:mvn exec:java -Dexec.mainClass="com.example.App"
运行结果

以下是示例程序的运行结果:

 1  2  3  4  5  6 *
 7  8  9 10 11 12 *
13 14 15 16 17 18 *
19 20 21 22 23 24 *
25 26 27 28

在日历中,数字表示日期,星号表示周末,其他字符表示事件。

总结

通过本文,你学习了如何使用 Java 编程语言创建一个小程序的日历程序。你了解了如何使用 Java 的日期和时间库来处理日期和时间,并且学会了如何使用循环和条件语句来生成日历并在其中添加事件。希望本文对你有所帮助!

以上就是使用小程序的日历 Java 程序的介绍,希望对你的编程学习有所帮助!