模拟短消息接收和有关操作最多存储20条短消息所编写的程序应包含且不限于如下功能:①短消息接收如果短消息总数超出20条则删除最早的短消息。②短列表显示所有短消息。③阅读任意一条短消息。④删除任意一条短消息。⑤消除所有短消息。⑥具有操作功能菜单。用Java编写
下面是用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 final int MAX_MESSAGES = 20;
private static List<Message> messages = new ArrayList<>();
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int choice;
do {
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("请选择操作: ");
choice = scanner.nextInt();
switch (choice) {
case 1:
receiveMessage(scanner);
break;
case 2:
displayMessages();
break;
case 3:
readMessage(scanner);
break;
case 4:
deleteMessage(scanner);
break;
case 5:
clearMessages();
break;
case 0:
System.out.println("程序已退出。");
break;
default:
System.out.println("无效的选择,请重新输入。");
break;
}
} while (choice != 0);
}
private static void receiveMessage(Scanner scanner) {
System.out.print("请输入短消息内容: ");
String content = scanner.next();
if (messages.size() >= MAX_MESSAGES) {
messages.remove(0);
}
messages.add(new Message(content));
System.out.println("短消息接收成功。");
}
private static void displayMessages() {
if (messages.isEmpty()) {
System.out.println("没有短消息。");
} else {
System.out.println("所有短消息:");
for (Message message : messages) {
System.out.println(message.getContent() + " - " + message.getTimestamp());
}
}
}
private static void readMessage(Scanner scanner) {
if (messages.isEmpty()) {
System.out.println("没有短消息。");
} else {
System.out.print("请输入要阅读的短消息索引: ");
int index = scanner.nextInt();
if (index < 0 || index >= messages.size()) {
System.out.println("无效的索引。");
} else {
Message message = messages.get(index);
System.out.println("短消息内容: " + message.getContent());
System.out.println("接收时间: " + message.getTimestamp());
}
}
}
private static void deleteMessage(Scanner scanner) {
if (messages.isEmpty()) {
System.out.println("没有短消息。");
} else {
System.out.print("请输入要删除的短消息索引: ");
int index = scanner.nextInt();
if (index < 0 || index >= messages.size()) {
System.out.println("无效的索引。");
} else {
messages.remove(index);
System.out.println("短消息已删除。");
}
}
}
private static void clearMessages() {
messages.clear();
System.out.println("所有短消息已清空。");
}
}
该程序使用一个静态列表来存储短消息对象,列表的大小限制为20条。程序提供了一个操作菜单,用户可以选择执行接收、显示、阅读、删除或清空短消息的操作。接收短消息时,如果列表已满,则删除最早的短消息。显示短消息时,按照接收顺序打印所有短消息的内容和接收时间。阅读和删除短消息时,用户需要输入短消息的索引。清空短消息时,将列表清空。程序在用户选择退出时结束执行
原文地址: https://www.cveoy.top/t/topic/hG6J 著作权归作者所有。请勿转载和采集!