这是一个使用 Java 语言编写的简单短消息接收与管理程序,它能够实现以下功能:

  1. 接收短消息:接收用户输入的短消息内容,并将它存储在一个列表中。如果列表中已存储 20 条短消息,则删除最旧的短消息,以保证列表最多存储 20 条短消息。
  2. 显示所有短消息:将存储的所有短消息以列表形式显示,包括消息内容和接收时间。
  3. 阅读任意一条短消息:根据用户输入的短消息编号,显示对应短消息的内容和接收时间。
  4. 删除任意一条短消息:根据用户输入的短消息编号,删除对应短消息。
  5. 消除所有短消息:清空存储的所有短消息。
  6. 具有操作功能菜单:程序提供了一个菜单,允许用户选择要执行的操作。

以下是程序的 Java 代码实现:

import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Scanner;

class Message {
    private String content;
    private Date timestamp;

    public Message(String content) {
        this.content = content;
        this.timestamp = new Date();
    }

    public String getContent() {
        return content;
    }

    public Date getTimestamp() {
        return timestamp;
    }
}

public class MessageApp {
    private static List<Message> messageList = new ArrayList<>();

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int option = 0;

        while (option != 7) {
            printMenu();
            option = scanner.nextInt();
            scanner.nextLine(); // consume the newline character

            switch (option) {
                case 1:
                    receiveMessage(scanner);
                    break;
                case 2:
                    displayMessages();
                    break;
                case 3:
                    readMessage(scanner);
                    break;
                case 4:
                    deleteMessage(scanner);
                    break;
                case 5:
                    deleteAllMessages();
                    break;
                case 6:
                    printMenu();
                    break;
                case 7:
                    System.out.println('程序已退出。');
                    break;
                default:
                    System.out.println('无效的选项,请重新输入。');
                    break;
            }
        }
    }

    private static void printMenu() {
        System.out.println('========== 操作菜单 ==========');
        System.out.println('1. 接收短消息');
        System.out.println('2. 显示所有短消息');
        System.out.println('3. 阅读短消息');
        System.out.println('4. 删除短消息');
        System.out.println('5. 清空所有短消息');
        System.out.println('6. 显示操作菜单');
        System.out.println('7. 退出程序');
        System.out.println('=============================');
        System.out.print('请选择操作:');
    }

    private static void receiveMessage(Scanner scanner) {
        System.out.print('请输入短消息内容:');
        String content = scanner.nextLine();

        if (messageList.size() >= 20) {
            messageList.remove(0); // 删除最早的短消息
        }

        Message message = new Message(content);
        messageList.add(message);

        System.out.println('短消息接收成功!');
    }

    private static void displayMessages() {
        if (messageList.isEmpty()) {
            System.out.println('没有短消息。');
        } else {
            System.out.println('========== 所有短消息 ==========');
            for (int i = 0; i < messageList.size(); i++) {
                Message message = messageList.get(i);
                System.out.println('[' + (i + 1) + '] ' + message.getContent() + ' (' + message.getTimestamp() + ')');
            }
            System.out.println('===============================');
        }
    }

    private static void readMessage(Scanner scanner) {
        System.out.print('请输入要阅读的短消息编号:');
        int index = scanner.nextInt();
        scanner.nextLine(); // consume the newline character

        if (index < 1 || index > messageList.size()) {
            System.out.println('无效的短消息编号。');
        } else {
            Message message = messageList.get(index - 1);
            System.out.println('短消息内容:' + message.getContent());
            System.out.println('接收时间:' + message.getTimestamp());
        }
    }

    private static void deleteMessage(Scanner scanner) {
        System.out.print('请输入要删除的短消息编号:');
        int index = scanner.nextInt();
        scanner.nextLine(); // consume the newline character

        if (index < 1 || index > messageList.size()) {
            System.out.println('无效的短消息编号。');
        } else {
            Message message = messageList.remove(index - 1);
            System.out.println('已删除短消息:' + message.getContent());
        }
    }

    private static void deleteAllMessages() {
        messageList.clear();
        System.out.println('所有短消息已清空。');
    }
}

注意:

  • 该程序只是一个简单的示例,没有进行输入验证和错误处理。在实际应用中,可能需要添加更多的功能和逻辑来满足具体需求。
  • 该程序没有实现短消息发送功能,只包含了短消息接收和相关操作。
  • 该程序使用 ArrayList 来存储短消息,这意味着短消息的存储顺序是固定的。如果需要根据时间排序,则需要使用其他数据结构,例如 PriorityQueue
  • 该程序使用 Scanner 类从控制台获取用户输入,您可能需要根据实际应用场景选择其他输入方式。
  • 该程序中,短消息的内容和接收时间都被保存在 Message 类中。您可能需要根据实际应用场景调整 Message 类的内容。
  • 该程序使用 Date 类来记录短消息的接收时间。您可能需要根据实际应用场景选择其他时间类。

希望以上内容能够帮助您了解如何使用 Java 编写简单的短消息接收与管理程序。


原文地址: https://www.cveoy.top/t/topic/pqhD 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录