用java模拟短消息接收和有关操作最多存储20条短消息所编写的程序应包含且不限于如下功能:①短消息接收如果短消息总数超出20条则删除最早的短消息。②短列表显示所有短消息。③阅读任意一条短消息。④删除任意一条短消息。⑤消除所有短消息。⑥具有操作功能菜单。
下面是用Java编写的模拟短消息接收和相关操作的程序:
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;
}
}
public class MessageReceiver {
private ArrayList<Message> messages;
public MessageReceiver() {
this.messages = new ArrayList<>();
}
public void receiveMessage(String content) {
if (messages.size() >= 20) {
messages.remove(0);
}
messages.add(new Message(content));
}
public void displayMessages() {
System.out.println("短消息列表:");
for (int i = 0; i < messages.size(); i++) {
Message message = messages.get(i);
System.out.println((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("短消息内容:");
System.out.println(message.getContent());
} else {
System.out.println("无效的短消息索引!");
}
}
public void deleteMessage(int index) {
if (index >= 1 && index <= messages.size()) {
messages.remove(index - 1);
System.out.println("成功删除短消息!");
} else {
System.out.println("无效的短消息索引!");
}
}
public void deleteAllMessages() {
messages.clear();
System.out.println("成功删除所有短消息!");
}
public static void main(String[] args) {
MessageReceiver messageReceiver = new MessageReceiver();
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("\n操作功能菜单:");
System.out.println("1. 接收短消息");
System.out.println("2. 显示短消息列表");
System.out.println("3. 阅读短消息");
System.out.println("4. 删除短消息");
System.out.println("5. 删除所有短消息");
System.out.println("0. 退出程序");
System.out.print("请选择操作(0-5): ");
int choice = scanner.nextInt();
scanner.nextLine(); // Consume newline character
switch (choice) {
case 1:
System.out.print("请输入短消息内容: ");
String content = scanner.nextLine();
messageReceiver.receiveMessage(content);
System.out.println("成功接收短消息!");
break;
case 2:
messageReceiver.displayMessages();
break;
case 3:
System.out.print("请输入要阅读的短消息索引: ");
int readIndex = scanner.nextInt();
messageReceiver.readMessage(readIndex);
break;
case 4:
System.out.print("请输入要删除的短消息索引: ");
int deleteIndex = scanner.nextInt();
messageReceiver.deleteMessage(deleteIndex);
break;
case 5:
messageReceiver.deleteAllMessages();
break;
case 0:
System.out.println("退出程序...");
scanner.close();
System.exit(0);
default:
System.out.println("无效的选择!");
break;
}
}
}
}
这个程序创建了一个MessageReceiver类来模拟短消息的接收和相关操作。每个短消息都是一个Message对象,包含了短消息的内容和接收时间戳。
程序通过一个无限循环来实现操作功能菜单的显示和用户选择。用户可以选择接收短消息、显示短消息列表、阅读短消息、删除短消息或删除所有短消息。选择0将退出程序。
注意:本程序假设用户输入都是有效的,没有进行输入验证。在实际应用中,应该对用户输入进行验证和错误处理
原文地址: https://www.cveoy.top/t/topic/hJsJ 著作权归作者所有。请勿转载和采集!