用 Java 写一个简单的日记本

日记本是许多人用来记录生活点滴的工具。随着程序设计语言的普及,我们可以利用 Java 编写一个简单的日记本应用,以方便我们更好地管理日常记录。本文将通过代码示例和结构图,引导大家如何实现这一应用。

项目结构

在开始编码之前,我们先规划一下项目的结构。这个日记本将有以下几个主要功能:

  • 添加日记
  • 查看日记
  • 删除日记
  • 搜索日记

基于这些功能,我们设定主要的类结构,包括 DiaryEntryDiaryManager

DiaryEntry

public class DiaryEntry {
    private String title;
    private String content;
    private String date;

    public DiaryEntry(String title, String content, String date) {
        this.title = title;
        this.content = content;
        this.date = date;
    }

    // Getter and Setter methods
    public String getTitle() {
        return title;
    }

    public String getContent() {
        return content;
    }

    public String getDate() {
        return date;
    }
}

DiaryEntry 是一个模型类,负责存储每条日记的标题、内容和日期。通过构造方法,我们可以初始化这条日记。

DiaryManager

import java.util.ArrayList;

public class DiaryManager {
    private ArrayList<DiaryEntry> diaryEntries;

    public DiaryManager() {
        diaryEntries = new ArrayList<>();
    }

    public void addEntry(DiaryEntry entry) {
        diaryEntries.add(entry);
    }

    public void viewEntries() {
        for (DiaryEntry entry : diaryEntries) {
            System.out.println(entry.getDate() + " - " + entry.getTitle());
            System.out.println(entry.getContent());
        }
    }

    public void deleteEntry(String title) {
        diaryEntries.removeIf(entry -> entry.getTitle().equals(title));
    }
}

DiaryManager 类用于管理日记条目。可以添加、查看和删除日记。这里使用 ArrayList 来存储所有日记条目。

主程序入口

以下是主程序的实现,允许用户交互式操作:

import java.util.Scanner;

public class DiaryApp {
    public static void main(String[] args) {
        DiaryManager manager = new DiaryManager();
        Scanner scanner = new Scanner(System.in);
        String command;

        while (true) {
            System.out.println("输入命令 (add/view/delete/exit): ");
            command = scanner.nextLine();

            switch (command.toLowerCase()) {
                case "add":
                    System.out.print("输入标题: ");
                    String title = scanner.nextLine();
                    System.out.print("输入内容: ");
                    String content = scanner.nextLine();
                    System.out.print("输入日期: ");
                    String date = scanner.nextLine();
                    manager.addEntry(new DiaryEntry(title, content, date));
                    break;
                case "view":
                    manager.viewEntries();
                    break;
                case "delete":
                    System.out.print("输入要删除的标题: ");
                    String titleToDelete = scanner.nextLine();
                    manager.deleteEntry(titleToDelete);
                    break;
                case "exit":
                    return;
                default:
                    System.out.println("无效命令,请重试。");
            }
        }
    }
}

使用示例及交互过程

以下是使用该日记本的一个示例交互过程:

sequenceDiagram
    participant User
    participant DiaryApp
    User->>DiaryApp: 输入命令 (add)
    DiaryApp-->>User: 输入标题
    User->>DiaryApp: 提交标题 
    DiaryApp-->>User: 输入内容
    User->>DiaryApp: 提交内容 
    DiaryApp-->>User: 输入日期
    User->>DiaryApp: 提交日期 
    DiaryApp-->>User: 日记添加成功
    User->>DiaryApp: 输入命令 (view)
    DiaryApp-->>User: 显示所有日记

总结

本篇文章介绍了如何使用 Java 编写一个简单的日记本应用。凭借简单的类设计和用户交互,我们成功地实现了日记的添加、查看、删除等操作。这样的项目不仅适合新手学习,也能成为后续开发的基础。希望大家能在实践中不断优化和扩展自己设计的日记本应用!