模拟短消息接收和有关操作最多存储20条短消息所编写的程序应包含且不限于如下功能:①短消息接收如果短消息总数超出20条则删除最早的短消息。②短列表显示所有短消息。③阅读任意一条短消息。④删除任意一条短消息。消除所有短消息。具有操作功能菜单。Java编写
以下是一个使用Java编写的简单程序,实现了上述功能:
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Scanner;
public class ShortMessageManager {
private static final int MAX_MESSAGES = 20;
private List<Message> messages;
public ShortMessageManager() {
this.messages = new ArrayList<>();
}
public void receiveMessage(String content) {
if (messages.size() >= MAX_MESSAGES) {
messages.remove(0);
}
Message message = new Message(content);
messages.add(message);
System.out.println("收到一条新消息:\"" + content + "\"");
}
public void displayMessages() {
if (messages.isEmpty()) {
System.out.println("没有任何短消息。");
} else {
for (int i = 0; i < messages.size(); i++) {
System.out.println((i + 1) + ". " + messages.get(i).getContent());
}
}
}
public void readMessage(int index) {
if (index < 1 || index > messages.size()) {
System.out.println("无效的消息索引。");
} else {
Message message = messages.get(index - 1);
System.out.println("消息内容:\"" + message.getContent() + "\"");
message.setRead(true);
}
}
public void deleteMessage(int index) {
if (index < 1 || index > messages.size()) {
System.out.println("无效的消息索引。");
} else {
Message message = messages.get(index - 1);
messages.remove(message);
System.out.println("成功删除消息:\"" + message.getContent() + "\"");
}
}
public void deleteAllMessages() {
messages.clear();
System.out.println("成功删除所有消息。");
}
public static void main(String[] args) {
ShortMessageManager manager = new ShortMessageManager();
Scanner scanner = new Scanner(System.in);
while (true) {
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("0. 退出程序");
int choice = scanner.nextInt();
scanner.nextLine(); // 消耗换行符
switch (choice) {
case 0:
System.out.println("程序已退出。");
return;
case 1:
System.out.println("请输入短消息内容:");
String content = scanner.nextLine();
manager.receiveMessage(content);
break;
case 2:
manager.displayMessages();
break;
case 3:
System.out.println("请输入要阅读的短消息的索引:");
int readIndex = scanner.nextInt();
scanner.nextLine(); // 消耗换行符
manager.readMessage(readIndex);
break;
case 4:
System.out.println("请输入要删除的短消息的索引:");
int deleteIndex = scanner.nextInt();
scanner.nextLine(); // 消耗换行符
manager.deleteMessage(deleteIndex);
break;
case 5:
manager.deleteAllMessages();
break;
default:
System.out.println("无效的操作。");
}
System.out.println();
}
}
}
class Message {
private String content;
private Date timestamp;
private boolean isRead;
public Message(String content) {
this.content = content;
this.timestamp = new Date();
this.isRead = false;
}
public String getContent() {
return content;
}
public Date getTimestamp() {
return timestamp;
}
public boolean isRead() {
return isRead;
}
public void setRead(boolean read) {
isRead = read;
}
}
这个程序使用了一个ShortMessageManager类来管理短消息,并提供了接收、显示、阅读、删除和删除所有短消息的功能。用户可以通过选择菜单中的选项来执行相应的操作
原文地址: https://www.cveoy.top/t/topic/hPZY 著作权归作者所有。请勿转载和采集!