Java 短消息接收与管理程序 - 实现接收、显示、阅读、删除、清空等功能
这是一个使用 Java 语言编写的简单短消息接收与管理程序,它能够实现以下功能:
- 接收短消息:接收用户输入的短消息内容,并将它存储在一个列表中。如果列表中已存储 20 条短消息,则删除最旧的短消息,以保证列表最多存储 20 条短消息。
- 显示所有短消息:将存储的所有短消息以列表形式显示,包括消息内容和接收时间。
- 阅读任意一条短消息:根据用户输入的短消息编号,显示对应短消息的内容和接收时间。
- 删除任意一条短消息:根据用户输入的短消息编号,删除对应短消息。
- 消除所有短消息:清空存储的所有短消息。
- 具有操作功能菜单:程序提供了一个菜单,允许用户选择要执行的操作。
以下是程序的 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 著作权归作者所有。请勿转载和采集!