2026/6/20 7:45:59
网站建设
项目流程
外贸网站推广方案,wordpress模板 淘宝客,国外搜索引擎大全,海南人才在线目录
1.需求说明
1.1 需求
1.2. 实现分析
1.3 功能点
1.4 项目运行效果
1.5. 代码实现思路
1、 首先要动态生成一个酒店房间信息的数组#xff0c;用几维数组好呢#xff1f;
2、 控制台的欢迎界面和控制台输入的次数控制写个方法封装起来#xff0c;通过用户输入的…目录1.需求说明1.1 需求1.2. 实现分析1.3 功能点1.4 项目运行效果1.5. 代码实现思路1、 首先要动态生成一个酒店房间信息的数组用几维数组好呢2、 控制台的欢迎界面和控制台输入的次数控制写个方法封装起来通过用户输入的数字去判断对应的不同功能3、 数字对应的功能方法执行单独用个方法写起来在此方法里面调用具体的功能实现4、 编写各个功能代码的实现2.实现思路与源码2.1 创建class类2.2 创建main方法2.3 创建房屋详情信息方法2.4 创建订房与退房的方法2.5 修改房间价格3.完整代码展示**1.**需求说明1.1 需求实现一个简单的酒店客房管理系统它具备 5 个功能分别为【 1 查看所有房间功能 2 订房功能 3退房功能 4 修改价格功能 5 退出本系统功能】1.2.实现分析我们要实现的主体数据就是酒店的房间 以及房间有哪些信息所在楼层、房间编号、房间价格、房间状态、房间的类型等等数组非常适合存储这些信息房间的类型 单人间、双人间标准间商务房豪华包房间的价格 98 128 148 288 68房间的状态空闲 有人房间的楼层 1,2,3,4,5,6…房间的编号101,102,103,104,201,202,203….String[] roomTypeArr {单人间, 双人间, 标准间, 商务房, 豪华包}; //房间类型 int[] priceArr {98, 128, 148, 228, 688}; //房间价格 int[][][] rooms new int[3][5][3]; //房间信息,3层每层5个房间每个房间3个信息价格、类型、状态 rooms { //楼层---1,2,3,4…… { //房间----101,102,103…… {类型单价入住状态} //101 {类型单价入住状态} //102 {类型单价入住状态} //103 {类型单价入住状态} //104 }, { {类型单价入住状态} {类型单价入住状态} {类型单价入住状态} {类型单价入住状态} }, { {类型单价入住状态} {类型单价入住状态} {类型单价入住状态} {类型单价入住状态} } }1.3 功能点1 查看所有房间实际上就是对数组的遍历打印在控制台显示2 订房要根据用户输入的房间号给该房间改变一下房间的状态即可3 退房根据用户的输入房间号对该房间号状态改变为空闲即可4 修改价格要根据房间的类型修改该类型的价格拿到用户输入的新的价格把这个新的价格替换掉老的价格5 退出结束用户不能在控制继续输入了1.4项目运行效果1.5.代码实现思路1、 首先要动态生成一个酒店房间信息的数组用几维数组好呢通过观察发现我们的楼层和房间都是有序的 , 可以作为数组下标 , 那我们房间的价格 . 类型 , 状态是变化的 , 可以作为数据, 那我们先把这些数据使用一个数组来存储 , 那我们可以使用到三维数组 , 结构图如下 :2**、 控制台的欢迎界面和控制台输入的次数控制写个方法封装起来通过用户输入的数字去判断对应的不****同功能**3**、 数字对应的功能方法执行单独用个方法写起来在此方法里面调用具体的功能实现**4**、 编写各个功能代码的实现**4-1 查看将数组遍历打印出来4-2 订房根据用户输入的房间号修改房间的状态值4-3 退房根据用户输入的房间号修改房间的状态值4-4 修改价格根据用户输入的类型将用户输入的新价格替换旧的价格4-5 退出System.exit(0);**2.**实现思路与源码2.1创建class类import java.util.Scanner; /** * 酒店管理系统: * 需求: * 实现一个简单的酒店客房管理系统它具备5个功能分别为 * 【1查看所有房间功能2订房功能3退房功能4修改价格功能5退出本系统功能】 */ public class HotelManagement { //创建实现功能的方法 }2.2创建main方法public static void main(String[] args) { /** * 实现思路 * 1.定义房间类型数组--单人间、双人间、标准间、商务房、豪华包 * 2.定义房间价格数组--98、128、148、228、688 * 3.定义房间信息数组--3层每层5个房间每个房间3个信息价格、类型、状态 * 4.初始化房间信息--遍历房间信息给房间信息赋值--价格、类型、状态--0表示空闲1表示 有人 * 5.显示菜单--查看所有房间功能订房功能退房功能修改价格功能退出本系统功能 * 6.根据用户选择的菜单执行相应的功能 */ String[] roomTypeArr {单人间, 双人间, 标准间, 商务房, 豪华包}; //房间类型 int[] priceArr {98, 128, 148, 228, 688}; //房间价格 int[][][] rooms new int[3][5][3]; //房间信息,3层每层5个房间每个房间3个信息价格、类型、状态 // 遍历房间信息给房间信息赋值 for (int i 0; i rooms.length; i) { //遍历楼层 for (int j 0; j rooms[i].length; j) { //遍历房间 for (int h 0; h rooms[i][j].length; h) { //遍历房间信息 //根据房间信息的下标给房间信息赋值 switch (h) { case 0: //价格 //房间价格,0表示981表示1282表示1483表示2284表示688 rooms[i][j][h] j % priceArr.length; break; case 1: //类型 //房间类型,0表示单人间1表示双人间2表示标准间3表示商务房4表示豪华包 rooms[i][j][h] j % roomTypeArr.length; break; case 2: //状态 //房间状态,0表示空闲1表示有人 rooms[i][j][h] 0; break; } } } } System.out.println(欢迎使用酒店管理系统); System.out.println(1查看所有房间功能2订房功能3退房功能4修改价格功 能5退出本系统功能); while (true) {// 无限循环,直到用户选择“5”才退出系统 System.out.println(请输入您的服务选择项); Scanner scanner new Scanner(System.in); if (scanner.hasNextInt()) {//判断输入的是否是数字 int choice scanner.nextInt();// 接收用户输入的数字 switch (choice) { case 1: System.out.println(查看所有房间功能); showRoomInfo(rooms, roomTypeArr, priceArr);// 查看所有房间功能 break; case 2: roomReservation(rooms, true);// 订房功能,true表示订房 break; case 3: roomReservation(rooms, false);// 退房功能,false表示退房 break; case 4: System.out.println(修改价格功能); modifyprice(rooms, priceArr);// 修改价格功能 break; case 5: System.out.println(退出本系统功能); System.exit(0);// 退出JVM虚拟机 break; default: System.out.println(您的输入有误请重新输入); break; } } else { System.out.println(您的输入是非法字符请重新输入); } } }2.3创建房屋详情信息方法public static void showRoomInfo(int[][][] rooms, String[] roomTypeArr, int[] priceArr) { /** * 遍历房间信息打印房间信息 * 1.打印楼层 * 2.打印房间号 * 3.打印价格 * 4.打印类型 * 5.打印状态 * 6.换行 * 7.打印下一层的房间信息 * 8.换行 */ System.out.println(酒店房间详情表:); System.out.println(楼层\t房间号\t价格\t类型\t\t状态); for (int i 0; i rooms.length; i) { //遍历楼层 System.out.print(i 1); //楼层 for (int j 0; j rooms[i].length; j) { //遍历房间 int roomNo (i 1) * 100 (j 1);//房间号 楼层两位的房间号 System.out.print(\t roomNo);//房间号 for (int h 0; h rooms[i][j].length; h) { //遍历房间信息 switch (h) { //根据房间信息的下标打印房间信息 case 0: //价格 //根据房间信息的下标打印房间价格 System.out.print(\t\t priceArr[rooms[i][j][h]]); break; case 1: //类型 //根据房间信息的下标打印房间类型 System.out.print(\t roomTypeArr[rooms[i][j][h]]); break; case 2: //状态 if (rooms[i][j][h] 0) { //0表示空闲1表示有人 System.out.print(\t空闲); } else if (rooms[i][j][h] 1) { System.out.print(\t有人); } break; } } System.out.println();//换行 } } }2.4创建订房与退房的方法public static void roomReservation(int[][][] rooms, boolean isReservation) { /** * 订房与退房功能 * 1.接收用户输入的楼层 * 2.接收用户输入的房间号 * 3.判断用户选择的是订房还是退房--true表示订房false表示退房 * 4.如果是订房判断房间是否已经有人如果有人提示重新选择如果没有人修改房间状态为1 表示有人 * 5.如果是退房判断房间是否已经有人如果有人修改房间状态为0表示空闲如果没有人提示 重新选择 */ Scanner scanner new Scanner(System.in); out1: while (true) { System.out.println(请选择楼层1-3); int floor scanner.nextInt() - 1;// 接收用户输入的楼层 if (floor 0 floor 3) { System.out.println(请选择房间1-5); while (true) { int roomNo scanner.nextInt() - 1;// 接收用户输入的房间号 if (roomNo 0 roomNo 5) { if (isReservation) { //true表示订房false表示退房 if (rooms[floor][roomNo][2] 0) { //0表示空闲1表示有人 rooms[floor][roomNo][2] 1;//修改房间状态为1表示有人 System.out.println(房间订好了入住愉快); return; //退出方法 } else { System.out.println(您选择的房间已经有人了请重新选择); return; //退出方法 } } else { if (rooms[floor][roomNo][2] 1) { //0表示空闲1表示有人 rooms[floor][roomNo][2] 0;// 修改房间状态为0表示空闲 System.out.println(退房成功欢迎下次光临); return; //退出方法 } else { System.out.println(您选择的房间未入住请重新选择); return; //退出方法 } } } else { System.out.println(您输入的房间号有误请重新输入(1-5)); } } } else { System.out.println(您输入的楼层有误请重新输入); } } }2.5修改房间价格public static void modifyprice(int[][][] rooms, int[] priceArr) { /** * 修改房间价格 * 1.接收用户输入的房间类型 * 2.接收用户输入的价格 * 3.根据用户输入的房间类型修改价格 */ int type 0;//房间类型 Scanner scanner new Scanner(System.in); boolean flag true;//定义一个标记 while (flag) { System.out.println(请输入需求修改的房间类型); String roomType scanner.next();// 接收用户输入的房间类型 switch (roomType) { case 单人间: type 0; break; case 双人间: type 1; break; case 标准间: type 2; break; case 商务房: type 3; break; case 豪华包: type 4; break; default: System.out.println(您输入的房间类型有误请重新输入); continue;//跳出本次循环继续下一次循环 } System.out.println(请输入修改后的价格); int price scanner.nextInt();// 接收用户输入的价格 priceArr[type] price;// 修改价格 System.out.println(修改成功); flag false;//修改成功将标记改为false退出循环 } }3.完整代码展示package day240317; import java.util.Scanner; /** * 酒店管理系统: * 需求: * 实现一个简单的酒店客房管理系统它具备5个功能分别为 * 【1查看所有房间功能2订房功能3退房功能4修改价格功能5退出本系统功能】 */ public class HotelManagement { //创建实现功能的方法 public static void main(String[] args) { /** * 实现思路 * 1.定义房间类型数组--单人间、双人间、标准间、商务房、豪华包 * 2.定义房间价格数组--98、128、148、228、688 * 3.定义房间信息数组--3层每层5个房间每个房间3个信息价格、类型、状态 * 4.初始化房间信息--遍历房间信息给房间信息赋值--价格、类型、状态--0表示空闲1表示 有人 * 5.显示菜单--查看所有房间功能订房功能退房功能修改价格功能退出本系统功能 * 6.根据用户选择的菜单执行相应的功能 */ String[] roomTypeArr {单人间, 双人间, 标准间, 商务房, 豪华包}; //房间类型 int[] priceArr {98, 128, 148, 228, 688}; //房间价格 int[][][] rooms new int[3][5][3]; //房间信息,3层每层5个房间每个房间3个信息价格、类型、状态 // 遍历房间信息给房间信息赋值 for (int i 0; i rooms.length; i) { //遍历楼层 for (int j 0; j rooms[i].length; j) { //遍历房间 for (int h 0; h rooms[i][j].length; h) { //遍历房间信息 //根据房间信息的下标给房间信息赋值 switch (h) { case 0: //价格 //房间价格,0表示981表示1282表示1483表示2284表示688 rooms[i][j][h] j % priceArr.length; break; case 1: //类型 //房间类型,0表示单人间1表示双人间2表示标准间3表示商务房4表示豪华包 rooms[i][j][h] j % roomTypeArr.length; break; case 2: //状态 //房间状态,0表示空闲1表示有人 rooms[i][j][h] 0; break; } } } } System.out.println(欢迎使用酒店管理系统); System.out.println(1查看所有房间功能2订房功能3退房功能4修改价格功 能5退出本系统功能); while (true) {// 无限循环,直到用户选择“5”才退出系统 System.out.println(请输入您的服务选择项); Scanner scanner new Scanner(System.in); if (scanner.hasNextInt()) {//判断输入的是否是数字 int choice scanner.nextInt();// 接收用户输入的数字 switch (choice) { case 1: System.out.println(查看所有房间功能); showRoomInfo(rooms, roomTypeArr, priceArr);// 查看所有房间功能 break; case 2: roomReservation(rooms, true);// 订房功能,true表示订房 break; case 3: roomReservation(rooms, false);// 退房功能,false表示退房 break; case 4: System.out.println(修改价格功能); modifyprice(rooms, priceArr);// 修改价格功能 break; case 5: System.out.println(退出本系统功能); System.exit(0);// 退出JVM虚拟机 break; default: System.out.println(您的输入有误请重新输入); break; } } else { System.out.println(您的输入是非法字符请重新输入); } } } public static void showRoomInfo(int[][][] rooms, String[] roomTypeArr, int[] priceArr) { /** * 遍历房间信息打印房间信息 * 1.打印楼层 * 2.打印房间号 * 3.打印价格 * 4.打印类型 * 5.打印状态 * 6.换行 * 7.打印下一层的房间信息 * 8.换行 */ System.out.println(酒店房间详情表:); System.out.println(楼层\t房间号\t价格\t类型\t\t状态); for (int i 0; i rooms.length; i) { //遍历楼层 System.out.print(i 1); //楼层 for (int j 0; j rooms[i].length; j) { //遍历房间 int roomNo (i 1) * 100 (j 1);//房间号 楼层两位的房间号 System.out.print(\t roomNo);//房间号 for (int h 0; h rooms[i][j].length; h) { //遍历房间信息 switch (h) { //根据房间信息的下标打印房间信息 case 0: //价格 //根据房间信息的下标打印房间价格 System.out.print(\t\t priceArr[rooms[i][j][h]]); break; case 1: //类型 //根据房间信息的下标打印房间类型 System.out.print(\t roomTypeArr[rooms[i][j][h]]); break; case 2: //状态 if (rooms[i][j][h] 0) { //0表示空闲1表示有人 System.out.print(\t空闲); } else if (rooms[i][j][h] 1) { System.out.print(\t有人); } break; } } System.out.println();//换行 } } } public static void roomReservation(int[][][] rooms, boolean isReservation) { /** * 订房与退房功能 * 1.接收用户输入的楼层 * 2.接收用户输入的房间号 * 3.判断用户选择的是订房还是退房--true表示订房false表示退房 * 4.如果是订房判断房间是否已经有人如果有人提示重新选择如果没有人修改房间状态为1 表示有人 * 5.如果是退房判断房间是否已经有人如果有人修改房间状态为0表示空闲如果没有人提示 重新选择 */ Scanner scanner new Scanner(System.in); out1: while (true) { System.out.println(请选择楼层1-3); int floor scanner.nextInt() - 1;// 接收用户输入的楼层 if (floor 0 floor 3) { System.out.println(请选择房间1-5); while (true) { int roomNo scanner.nextInt() - 1;// 接收用户输入的房间号 if (roomNo 0 roomNo 5) { if (isReservation) { //true表示订房false表示退房 if (rooms[floor][roomNo][2] 0) { //0表示空闲1表示有人 rooms[floor][roomNo][2] 1;//修改房间状态为1表示有人 System.out.println(房间订好了入住愉快); return; //退出方法 } else { System.out.println(您选择的房间已经有人了请重新选择); return; //退出方法 } } else { if (rooms[floor][roomNo][2] 1) { //0表示空闲1表示有人 rooms[floor][roomNo][2] 0;// 修改房间状态为0表示空闲 System.out.println(退房成功欢迎下次光临); return; //退出方法 } else { System.out.println(您选择的房间未入住请重新选择); return; //退出方法 } } } else { System.out.println(您输入的房间号有误请重新输入(1-5)); } } } else { System.out.println(您输入的楼层有误请重新输入); } } } public static void modifyprice(int[][][] rooms, int[] priceArr) { /** * 修改房间价格 * 1.接收用户输入的房间类型 * 2.接收用户输入的价格 * 3.根据用户输入的房间类型修改价格 */ int type 0;//房间类型 Scanner scanner new Scanner(System.in); boolean flag true;//定义一个标记 while (flag) { System.out.println(请输入需求修改的房间类型); String roomType scanner.next();// 接收用户输入的房间类型 switch (roomType) { case 单人间: type 0; break; case 双人间: type 1; break; case 标准间: type 2; break; case 商务房: type 3; break; case 豪华包: type 4; break; default: System.out.println(您输入的房间类型有误请重新输入); continue;//跳出本次循环继续下一次循环 } System.out.println(请输入修改后的价格); int price scanner.nextInt();// 接收用户输入的价格 priceArr[type] price;// 修改价格 System.out.println(修改成功); flag false;//修改成功将标记改为false退出循环 } } }Java开发的就业市场正在经历结构性调整竞争日益激烈传统纯业务开发岗位如仅完成增删改查业务的后端工程师的需求特别是入门级岗位正显著萎缩。随着企业技术需求升级市场对Java人才的要求已从通用技能转向了更深入的领域经验如云原生、微服务或前沿的AI集成能力。这也导致岗位竞争加剧在一、二线城市求职者不仅面临技术内卷还需应对学历与项目经验的高门槛。大模型为核心的AI领域正展现出前所未有的就业热度与人才红利2025年AI相关新发岗位数量同比激增543%单月增幅最高超过11倍大模型算法工程师位居热门岗位前列。行业顶尖人才的供需严重失衡议价能力极强跳槽薪资涨幅可达30%-50%。值得注意的是市场并非单纯青睐算法研究员而是急需能将大模型能力落地于复杂业务系统的工程人才。这使得具备企业级架构思维和复杂系统整合经验的Java工程师在向“Java大模型”复合人才转型时拥有独特优势成为企业竞相争夺的对象其薪资天花板也远高于传统Java岗位。说真的这两年看着身边一个个搞Java、C、前端、数据、架构的开始卷大模型挺唏嘘的。大家最开始都是写接口、搞Spring Boot、连数据库、配Redis稳稳当当过日子。结果GPT、DeepSeek火了之后整条线上的人都开始有点慌了大家都在想“我是不是要学大模型不然这饭碗还能保多久”先给出最直接的答案一定要把现有的技术和大模型结合起来而不是抛弃你们现有技术掌握AI能力的Java工程师比纯Java岗要吃香的多。即使现在裁员、降薪、团队解散的比比皆是……但后续的趋势一定是AI应用落地大模型方向才是实现职业升级、提升薪资待遇的绝佳机遇如何学习AGI大模型作为一名热心肠的互联网老兵我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。因篇幅有限仅展示部分资料需要点击下方链接即可前往获取2025最新版CSDN大礼包《AGI大模型学习资源包》免费分享**一、2025最新大模型学习路线一个明确的学习路线可以帮助新人了解从哪里开始按照什么顺序学习以及需要掌握哪些知识点。大模型领域涉及的知识点非常广泛没有明确的学习路线可能会导致新人感到迷茫不知道应该专注于哪些内容。我们把学习路线分成L1到L4四个阶段一步步带你从入门到进阶从理论到实战。L1级别:AI大模型时代的华丽登场L1阶段我们会去了解大模型的基础知识以及大模型在各个行业的应用和分析学习理解大模型的核心原理关键技术以及大模型应用场景通过理论原理结合多个项目实战从提示工程基础到提示工程进阶掌握Prompt提示工程。L2级别AI大模型RAG应用开发工程L2阶段是我们的AI大模型RAG应用开发工程我们会去学习RAG检索增强生成包括Naive RAG、Advanced-RAG以及RAG性能评估还有GraphRAG在内的多个RAG热门项目的分析。L3级别大模型Agent应用架构进阶实践L3阶段大模型Agent应用架构进阶实现我们会去学习LangChain、 LIamaIndex框架也会学习到AutoGPT、 MetaGPT等多Agent系统打造我们自己的Agent智能体同时还可以学习到包括Coze、Dify在内的可视化工具的使用。L4级别大模型微调与私有化部署L4阶段大模型的微调和私有化部署我们会更加深入的探讨Transformer架构学习大模型的微调技术利用DeepSpeed、Lamam Factory等工具快速进行模型微调并通过Ollama、vLLM等推理部署框架实现模型的快速部署。整个大模型学习路线L1主要是对大模型的理论基础、生态以及提示词他的一个学习掌握而L3 L4更多的是通过项目实战来掌握大模型的应用开发针对以上大模型的学习路线我们也整理了对应的学习视频教程和配套的学习资料。二、大模型经典PDF书籍书籍和学习文档资料是学习大模型过程中必不可少的我们精选了一系列深入探讨大模型技术的书籍和学习文档它们由领域内的顶尖专家撰写内容全面、深入、详尽为你学习大模型提供坚实的理论基础。书籍含电子版PDF三、大模型视频教程对于很多自学或者没有基础的同学来说书籍这些纯文字类的学习教材会觉得比较晦涩难以理解因此我们提供了丰富的大模型视频教程以动态、形象的方式展示技术概念帮助你更快、更轻松地掌握核心知识。四、大模型项目实战学以致用当你的理论知识积累到一定程度就需要通过项目实战在实际操作中检验和巩固你所学到的知识同时为你找工作和职业发展打下坚实的基础。五、大模型面试题面试不仅是技术的较量更需要充分的准备。在你已经掌握了大模型技术之后就需要开始准备面试我们将提供精心整理的大模型面试题库涵盖当前面试中可能遇到的各种技术问题让你在面试中游刃有余。因篇幅有限仅展示部分资料需要点击下方链接即可前往获取2025最新版CSDN大礼包《AGI大模型学习资源包》免费分享