使用 Java 实现短消息功能模拟

本教程将使用 Java 语言实现一个简单的短消息功能模拟,包括接收、显示、阅读和删除短消息的功能。最多存储20条短消息,如果超过限制,则删除最早的短消息。

功能列表:

  1. 短消息接收,如果短消息总数超出20条,则删除最早的短消息;
  2. 短列表显示所有短消息;
  3. 阅读任意一条短消息;
  4. 删除任意一条短消息;
  5. 消除所有短消息;
  6. 具有操作功能菜单。

代码示例:

import java.util.ArrayList;
import java.util.Date;
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;
    }
}

class MessageManager {
    private ArrayList<Message> messages;

    public MessageManager() {
        this.messages = new ArrayList<>();
    }

    public void receiveMessage(String content) {
        if (messages.size() >= 20) {
            messages.remove(0);
        }
        messages.add(new Message(content));
    }

    public void displayMessages() {
        for (int i = 0; i < messages.size(); i++) {
            Message message = messages.get(i);
            System.out.println('Message ' + (i + 1) + ': ' + message.getContent() + ' [' + message.getTimestamp() + ']');
        }
    }

    public void readMessage(int index) {
        if (index >= 1 && index <= messages.size()) {
            Message message = messages.get(index - 1);
            System.out.println('Message ' + index + ': ' + message.getContent() + ' [' + message.getTimestamp() + ']');
        } else {
            System.out.println('Invalid message index!');
        }
    }

    public void deleteMessage(int index) {
        if (index >= 1 && index <= messages.size()) {
            messages.remove(index - 1);
            System.out.println('Message ' + index + ' deleted.');
        } else {
            System.out.println('Invalid message index!');
        }
    }

    public void deleteAllMessages() {
        messages.clear();
        System.out.println('All messages deleted.');
    }
}

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

        while (true) {
            System.out.println('1. Receive message');
            System.out.println('2. Display messages');
            System.out.println('3. Read message');
            System.out.println('4. Delete message');
            System.out.println('5. Delete all messages');
            System.out.println('0. Exit');
            System.out.print('Enter your choice: ');
            int choice = scanner.nextInt();

            switch (choice) {
                case 1:
                    System.out.print('Enter message content: ');
                    scanner.nextLine(); // Consume the newline character
                    String content = scanner.nextLine();
                    manager.receiveMessage(content);
                    System.out.println('Message received.');
                    break;
                case 2:
                    manager.displayMessages();
                    break;
                case 3:
                    System.out.print('Enter message index to read: ');
                    int readIndex = scanner.nextInt();
                    manager.readMessage(readIndex);
                    break;
                case 4:
                    System.out.print('Enter message index to delete: ');
                    int deleteIndex = scanner.nextInt();
                    manager.deleteMessage(deleteIndex);
                    break;
                case 5:
                    manager.deleteAllMessages();
                    break;
                case 0:
                    System.out.println('Exiting program...');
                    System.exit(0);
                default:
                    System.out.println('Invalid choice!');
            }

            System.out.println();
        }
    }
}

代码解释:

  1. **Message 类:**表示一条短消息,包含内容 (content) 和时间戳 (timestamp) 属性。
  2. **MessageManager 类:**负责管理短消息,包含以下方法:
    • receiveMessage(String content): 接收一条新短消息,如果超过存储限制,则删除最早的短消息。
    • displayMessages(): 显示所有存储的短消息。
    • readMessage(int index): 阅读指定索引的短消息。
    • deleteMessage(int index): 删除指定索引的短消息。
    • deleteAllMessages(): 删除所有存储的短消息。
  3. **Main 类:**包含主程序入口,使用循环处理用户的操作选择。

运行程序:

编译并运行程序,根据提示进行操作。例如,输入“1”接收新短消息,输入“2”显示所有短消息,输入“3”阅读指定索引的短消息等等。

总结:

本教程展示了如何使用 Java 实现一个简单的短消息功能模拟,包括接收、显示、阅读和删除短消息的功能。代码示例清晰易懂,并提供详细的解释,帮助您理解如何使用 Java 实现短消息功能。您可以根据自己的需求对代码进行扩展和修改。

提示:

  • 您可以将短消息存储在数据库中,以实现更持久化的存储。
  • 您可以添加更多功能,例如发送短消息、设置接收者等。
  • 您可以使用图形界面来提高程序的用户体验。
Java 短消息功能模拟 - 接收、显示、阅读和删除短信

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

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