Java实现短消息管理系统:接收、显示、读取、删除和清空
以下是用Java编写的模拟短消息接收和相关操作的程序:\n\njava\nimport java.util.ArrayList;\nimport java.util.Date;\nimport java.util.List;\nimport java.util.Scanner;\n\nclass Message {\n private String content;\n private Date timestamp;\n\n public Message(String content) {\n this.content = content;\n this.timestamp = new Date();\n }\n\n public String getContent() {\n return content;\n }\n\n public Date getTimestamp() {\n return timestamp;\n }\n}\n\nclass MessageManager {\n private List<Message> messages;\n\n public MessageManager() {\n messages = new ArrayList<>();\n }\n\n public void receiveMessage(String content) {\n if (messages.size() >= 20) {\n messages.remove(0);\n }\n Message message = new Message(content);\n messages.add(message);\n }\n\n public void displayMessages() {\n if (messages.isEmpty()) {\n System.out.println("No messages.");\n } else {\n for (int i = 0; i < messages.size(); i++) {\n Message message = messages.get(i);\n System.out.println((i + 1) + ". " + message.getContent());\n }\n }\n }\n\n public void readMessage(int index) {\n if (index >= 1 && index <= messages.size()) {\n Message message = messages.get(index - 1);\n System.out.println("Message: " + message.getContent());\n System.out.println("Timestamp: " + message.getTimestamp());\n } else {\n System.out.println("Invalid message index.");\n }\n }\n\n public void deleteMessage(int index) {\n if (index >= 1 && index <= messages.size()) {\n messages.remove(index - 1);\n System.out.println("Message deleted.");\n } else {\n System.out.println("Invalid message index.");\n }\n }\n\n public void deleteAllMessages() {\n messages.clear();\n System.out.println("All messages deleted.");\n }\n}\n\npublic class Main {\n public static void main(String[] args) {\n MessageManager messageManager = new MessageManager();\n Scanner scanner = new Scanner(System.in);\n\n while (true) {\n System.out.println("1. Receive message");\n System.out.println("2. Display messages");\n System.out.println("3. Read message");\n System.out.println("4. Delete message");\n System.out.println("5. Delete all messages");\n System.out.println("6. Exit");\n System.out.print("Enter your choice: ");\n int choice = scanner.nextInt();\n scanner.nextLine(); // consume newline character\n\n switch (choice) {\n case 1:\n System.out.print("Enter message content: ");\n String content = scanner.nextLine();\n messageManager.receiveMessage(content);\n System.out.println("Message received.");\n break;\n case 2:\n messageManager.displayMessages();\n break;\n case 3:\n System.out.print("Enter message index: ");\n int readIndex = scanner.nextInt();\n scanner.nextLine(); // consume newline character\n messageManager.readMessage(readIndex);\n break;\n case 4:\n System.out.print("Enter message index: ");\n int deleteIndex = scanner.nextInt();\n scanner.nextLine(); // consume newline character\n messageManager.deleteMessage(deleteIndex);\n break;\n case 5:\n messageManager.deleteAllMessages();\n break;\n case 6:\n System.out.println("Exiting program.");\n System.exit(0);\n break;\n default:\n System.out.println("Invalid choice. Please try again.");\n break;\n }\n }\n }\n}\n\n\n这个程序使用了一个MessageManager类来管理短消息。其中,receiveMessage方法接收一条短消息,如果短消息总数超过20条,则删除最早的短消息。displayMessages方法显示所有短消息,并按照索引从1开始进行编号。readMessage方法根据索引阅读指定的短消息。deleteMessage方法根据索引删除指定的短消息。deleteAllMessages方法删除所有短消息。在程序的主函数中,使用一个循环来接收用户输入的操作选项,并调用MessageManager类的相应方法来执行操作。\n
原文地址: https://www.cveoy.top/t/topic/pwvF 著作权归作者所有。请勿转载和采集!