短消息功能模拟模拟短消息接收和有关操作最多存储20条短消息所编写的程序应包含且不限于如下功能:1短消息接收如果短消息总数超出20条则删除最早的短消息;2短列表显示所有短消息;3阅读任意一条短消息;4删除任意一条短消息;5消除所有短消息;6具有操作功能菜单。7短消息发送用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 time;
public Message(String content) {
this.content = content;
this.time = new Date();
}
public String getContent() {
return content;
}
public Date getTime() {
return time;
}
}
public class ShortMessageSimulation {
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("请选择操作:");
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("0. 退出");
choice = scanner.nextInt();
scanner.nextLine();
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 6:
sendMessage(scanner);
break;
case 0:
System.out.println("退出程序。");
break;
default:
System.out.println("无效的选择,请重新输入。");
break;
}
System.out.println();
} while (choice != 0);
scanner.close();
}
private static void receiveMessage(Scanner scanner) {
System.out.println("请输入接收到的短消息内容:");
String content = scanner.nextLine();
Message message = new Message(content);
if (messages.size() >= 20) {
messages.remove(0);
}
messages.add(message);
System.out.println("短消息接收成功。");
}
private static void displayMessages() {
if (messages.isEmpty()) {
System.out.println("没有短消息。");
return;
}
System.out.println("短列表显示所有短消息:");
for (int i = 0; i < messages.size(); i++) {
System.out.println((i + 1) + ". " + messages.get(i).getContent());
}
}
private static void readMessage(Scanner scanner) {
if (messages.isEmpty()) {
System.out.println("没有短消息。");
return;
}
System.out.println("请输入要阅读的短消息编号:");
int index = scanner.nextInt();
scanner.nextLine();
if (index < 1 || index > messages.size()) {
System.out.println("无效的短消息编号。");
return;
}
Message message = messages.get(index - 1);
System.out.println("短消息内容:" + message.getContent());
System.out.println("短消息接收时间:" + message.getTime());
}
private static void deleteMessage(Scanner scanner) {
if (messages.isEmpty()) {
System.out.println("没有短消息。");
return;
}
System.out.println("请输入要删除的短消息编号:");
int index = scanner.nextInt();
scanner.nextLine();
if (index < 1 || index > messages.size()) {
System.out.println("无效的短消息编号。");
return;
}
messages.remove(index - 1);
System.out.println("短消息删除成功。");
}
private static void clearMessages() {
messages.clear();
System.out.println("所有短消息已被清除。");
}
private static void sendMessage(Scanner scanner) {
System.out.println("请输入要发送的短消息内容:");
String content = scanner.nextLine();
Message message = new Message(content);
if (messages.size() >= 20) {
messages.remove(0);
}
messages.add(message);
System.out.println("短消息发送成功。");
}
}
在该示例中,使用了一个 Message 类来表示短消息,其中包含短消息的内容和接收时间。短消息列表使用一个 ArrayList 来存储短消息对象。
在 main 方法中,使用一个 do-while 循环来接收用户的操作选择,根据选择调用相应的方法来执行对应的操作。
receiveMessage 方法用于接收短消息,首先要求用户输入短消息的内容,然后创建一个 Message 对象,并将其添加到短消息列表中。如果短消息总数超过了20条,则删除最早的一条短消息。
displayMessages 方法用于显示所有的短消息,遍历短消息列表并逐条打印出短消息的内容。
readMessage 方法用于阅读指定编号的短消息,首先要求用户输入要阅读的短消息的编号,然后根据编号获取对应的短消息对象,并打印出短消息的内容和接收时间。
deleteMessage 方法用于删除指定编号的短消息,首先要求用户输入要删除的短消息的编号,然后根据编号从短消息列表中删除对应的短消息对象。
clearMessages 方法用于清除所有的短消息,直接调用 clear 方法清空短消息列表。
sendMessage 方法用于发送短消息,与 receiveMessage 方法类似,首先要求用户输入短消息的内容,然后创建一个 Message 对象,并将其添加到短消息列表中。如果短消息总数超过了20条,则删除最早的一条短消息。
请注意,该示例中的用户输入部分使用了 Scanner 类来实现。用户可以通过输入对应的数字来选择操作,然后根据提示输入相应的内容
原文地址: https://www.cveoy.top/t/topic/hK9H 著作权归作者所有。请勿转载和采集!