模拟短消息接收和有关操作最多存储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 ShortMessageSystem {
private static final int MAX_MESSAGES = 20;
private List<Message> messages;
public ShortMessageSystem() {
messages = new ArrayList<>();
}
public void receiveMessage(String content) {
if (messages.size() >= MAX_MESSAGES) {
messages.remove(0);
}
Message message = new Message(content);
messages.add(message);
}
public void displayMessages() {
if (messages.isEmpty()) {
System.out.println("No messages.");
} else {
for (int i = 0; i < messages.size(); i++) {
Message message = messages.get(i);
System.out.println("[" + i + "] " + message.getContent());
}
}
}
public void readMessage(int index) {
if (index >= 0 && index < messages.size()) {
Message message = messages.get(index);
System.out.println("Message content: " + message.getContent());
System.out.println("Received at: " + message.getTimestamp());
} else {
System.out.println("Invalid message index.");
}
}
public void deleteMessage(int index) {
if (index >= 0 && index < messages.size()) {
messages.remove(index);
System.out.println("Message deleted.");
} else {
System.out.println("Invalid message index.");
}
}
public void deleteAllMessages() {
messages.clear();
System.out.println("All messages deleted.");
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
ShortMessageSystem sms = new ShortMessageSystem();
while (true) {
System.out.println("Short Message System");
System.out.println("1. Receive a message");
System.out.println("2. Display all messages");
System.out.println("3. Read a message");
System.out.println("4. Delete a message");
System.out.println("5. Delete all messages");
System.out.println("6. Exit");
System.out.print("Enter your choice: ");
int choice = scanner.nextInt();
scanner.nextLine(); // Consume newline character
switch (choice) {
case 1:
System.out.print("Enter message content: ");
String content = scanner.nextLine();
sms.receiveMessage(content);
System.out.println("Message received.");
break;
case 2:
sms.displayMessages();
break;
case 3:
System.out.print("Enter message index: ");
int index = scanner.nextInt();
scanner.nextLine(); // Consume newline character
sms.readMessage(index);
break;
case 4:
System.out.print("Enter message index: ");
int deleteIndex = scanner.nextInt();
scanner.nextLine(); // Consume newline character
sms.deleteMessage(deleteIndex);
break;
case 5:
sms.deleteAllMessages();
break;
case 6:
System.out.println("Exiting...");
System.exit(0);
default:
System.out.println("Invalid choice. Please try again.");
}
System.out.println();
}
}
}
这个程序使用一个ShortMessageSystem类来模拟短消息系统。其中,Message类表示一条短消息,包含内容和时间戳。ShortMessageSystem类包含一个消息列表,通过receiveMessage方法接收短消息并进行存储,如果消息总数超过20条,则删除最早的消息。其他方法分别用于显示所有消息、阅读指定消息、删除指定消息和删除所有消息。
程序的main方法实现了一个简单的操作菜单,用户可以根据菜单选项执行相应的操作
原文地址: https://www.cveoy.top/t/topic/hOjf 著作权归作者所有。请勿转载和采集!