下面是用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条。程序提供了一个操作菜单,用户可以选择执行接收、显示、阅读、删除或清空短消息的操作。接收短消息时,如果列表已满,则删除最早的短消息。显示短消息时,按照接收顺序打印所有短消息的内容和接收时间。阅读和删除短消息时,用户需要输入短消息的索引。清空短消息时,将列表清空。程序在用户选择退出时结束执行

模拟短消息接收和有关操作最多存储20条短消息所编写的程序应包含且不限于如下功能:①短消息接收如果短消息总数超出20条则删除最早的短消息。②短列表显示所有短消息。③阅读任意一条短消息。④删除任意一条短消息。⑤消除所有短消息。⑥具有操作功能菜单。用Java编写

原文地址: https://www.cveoy.top/t/topic/hG6J 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录