模拟短消息接收和有关操作,最多存储20条短消息,所编写的程序应包含且不限于如下功能:
(1)短消息接收,如果短消息总数超出20条,则删除最早的短消息;
(2)短列表显示所有短消息;
(3)阅读任意一条短消息;
(4)删除任意一条短消息;
(5)消除所有短消息;
(6)具有操作功能菜单。
短消息功能模拟,java,数据结构
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
4条回答 默认 最新
- 瞬间的未来式 2023-06-26 11:01关注
该回答引用chatgpt:
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("短消息列表已清空。"); } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 2无用
悬赏问题
- ¥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不更新怎么解决