惜喃 2023-06-26 10:56 采纳率: 100%
浏览 210
已结题

短消息功能模拟,java,数据结构

模拟短消息接收和有关操作,最多存储20条短消息,所编写的程序应包含且不限于如下功能:
(1)短消息接收,如果短消息总数超出20条,则删除最早的短消息;
(2)短列表显示所有短消息;
(3)阅读任意一条短消息;
(4)删除任意一条短消息;
(5)消除所有短消息;
(6)具有操作功能菜单。

  • 写回答

4条回答 默认 最新

  • 瞬间的未来式 2023-06-26 11:01
    关注

    该回答引用chatgpt:

    img

    package com.school;
    
    import java.util.ArrayList;
    import java.util.Scanner;
    
    public class MessageSimulator {
        private static ArrayList<String> messages = new ArrayList<>();
        private static final int MAX_MESSAGES = 20;
    
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
    
            int choice;
            do {
                displayMenu();
                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:
                        System.out.println("程序已退出。");
                        break;
                    default:
                        System.out.println("无效的选择,请重新输入。");
                        break;
                }
                System.out.println();
            } while (choice != 6);
        }
    
        private static void displayMenu() {
            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.print("请输入选项:");
        }
    
        private static void receiveMessage(Scanner scanner) {
            System.out.print("请输入要接收的短消息内容:");
            String message = scanner.nextLine();
    
            if (messages.size() >= MAX_MESSAGES) {
                messages.remove(0); // 删除最早的短消息
            }
            messages.add(message);
    
            System.out.println("短消息接收成功!");
        }
    
        private static void displayMessages() {
            if (messages.isEmpty()) {
                System.out.println("短消息列表为空。");
            } else {
                System.out.println("短消息列表:");
                for (int i = 0; i < messages.size(); i++) {
                    System.out.println((i + 1) + ". " + messages.get(i));
                }
            }
        }
    
        private static void readMessage(Scanner scanner) {
            if (messages.isEmpty()) {
                System.out.println("短消息列表为空。");
                return;
            }
    
            System.out.print("请输入要阅读的短消息的序号:");
            int index = scanner.nextInt();
    
            if (index < 1 || index > messages.size()) {
                System.out.println("无效的短消息序号。");
            } else {
                String message = messages.get(index - 1);
                System.out.println("阅读短消息:" + message);
            }
        }
    
        private static void deleteMessage(Scanner scanner) {
            if (messages.isEmpty()) {
                System.out.println("短消息列表为空。");
                return;
            }
    
            System.out.print("请输入要删除的短消息的序号:");
            int index = scanner.nextInt();
    
            if (index < 1 || index > messages.size()) {
                System.out.println("无效的短消息序号。");
            } else {
                String message = messages.remove(index - 1);
                System.out.println("删除短消息:" + message);
            }
        }
    
        private static void clearMessages() {
            messages.clear();
            System.out.println("短消息列表已清空。");
        }
    }
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 7月4日
  • 已采纳回答 6月26日
  • 创建了问题 6月26日

悬赏问题

  • ¥15 webstorm上开发的vue3+vite5+typeScript打包时报错
  • ¥15 vue使用gojs,需求在link中的虚线上添加方向箭头
  • ¥15 CSS通配符清除内外边距为什么可以覆盖默认样式?
  • ¥15 SPSS分类模型实训题步骤
  • ¥15 求解决扩散模型代码问题
  • ¥15 工创大赛太阳能电动车项目零基础要学什么
  • ¥20 limma多组间分析最终p值只有一个
  • ¥15 nopCommerce开发问题
  • ¥15 torch.multiprocessing.spawn.ProcessExitedException: process 1 terminated with signal SIGKILL
  • ¥15 QuartusⅡ15.0编译项目后,output_files中的.jdi、.sld、.sof不更新怎么解决