使用java模拟电梯运行
📅 2026/7/9 9:03:38
👁️ 次浏览
电梯运行规则:优先一个方向走到头, 再回头, 每经过一层, 就判断该层是否有人按了电梯代码importorg.junit.jupiter.api.Test;importjava.util.*;/** * 模拟电梯运行 * 运行规则: 电梯如果上行,会尽量一直上行到最高点,再回头下行到最低点 */publicclassElevator{// 存储每层楼是否有人按了上行或下行按键,电梯会一层一层运动,每到一层就判断一层privatefinalMapInteger,StringmapnewLinkedHashMap();// 存储所有的按键顺序,向上的键用正数,向下的键用负数privatefinalListIntegerlistnewLinkedList();Testpublicvoidtest0708()throwsInterruptedException{// 记录电梯当前所在层, 1-16层intcurrentFloor1;// 记录电梯当前的运动方向,上,下,静止Stringdirection静止;// 存储最大最小楼层,用于判断是否立即返回intmaxFloor1;intminFloor16;ThreadthreadnewMyThread();thread.start();// 电梯一直在通电运行while(true){Thread.sleep(500);// 初始化最大最小楼层maxFloor1;minFloor16;for(inti:list){if(Math.abs(i)maxFloor){maxFloorMath.abs(i);}if(Math.abs(i)minFloor){minFloorMath.abs(i);}}if(list.size()0){if(静止.equals(direction)){intnextFloorMath.abs(list.get(0));if(nextFloorcurrentFloor){System.out.println(开门);list.remove(0);}elseif(nextFloorcurrentFloor){System.out.println(电梯上行);direction向上;}else{System.out.println(电梯下行);direction向下;}}elseif(向上.equals(direction)){currentFloor;// 没有再向上了if(currentFloormaxFloor){direction静止;continue;}System.out.println(电梯到达currentFloor楼);Stringlightmap.get(currentFloor);if(上.equals(light)||上,下.equals(light)){System.out.println(电梯开门);lightlight.replace(上,).replace(,,);map.put(currentFloor,light);list.remove((Object)currentFloor);// 判断电梯是否还需要继续上行if(list.size()0){direction静止;continue;}// 是否继续上行booleanflagfalse;for(inticurrentFloor;i17;i){if(StringUtils.isNotBlank(map.get(i))){flagtrue;break;}}if(!flag){direction静止;}}}elseif(向下.equals(direction)){currentFloor--;if(currentFloorminFloor){direction静止;continue;}System.out.println(电梯到达currentFloor楼);Stringlightmap.get(currentFloor);if(下.equals(light)||上,下.equals(light)){System.out.println(电梯开门);lightlight.replace(下,).replace(,,);map.put(currentFloor,light);list.remove((Object)(-1*currentFloor));// 判断电梯是否还需要继续下行if(list.size()0){direction静止;continue;}// 是否继续下行booleanflagfalse;for(inticurrentFloor;i0;i--){if(StringUtils.isNotBlank(map.get(i))){flagtrue;break;}}if(!flag){direction静止;}}}}}}classMyThreadextendsThread{Overridepublicvoidrun(){// 模拟按键// 在3楼按向上按钮addOptions(3,上);addOptions(6,上);addOptions(3,下);addOptions(4,下);addOptions(10,下);addOptions(5,上);addOptions(12,上);}publicvoidaddOptions(intfloor,Stringdirection){try{Thread.sleep(757);}catch(InterruptedExceptione){thrownewRuntimeException(e);}if(下.equals(direction)){list.add(-1*floor);}else{list.add(floor);}if(map.containsKey(floor)StringUtils.isNotBlank(map.get(floor))){if(!direction.equals(map.get(floor))){map.put(floor,上,下);}}else{map.put(floor,direction);}System.out.println(乘客在floor楼按向direction箭头);}}}
终极指南:ide-eval-resetter 如何实现JetBrains IDE试用期无限重置 【免费下载链接】ide-eval-resetter 项目地址: https://gitcode.com/gh_mirrors/id/ide-eval-resetter
JetBrains IDE试用期重置工具ide-eval-resetter为开发者提供了一种安全、高效的方式…
📅 2026/7/9 9:03:38
FanControl V270:从噪音困扰到静音掌控的Windows风扇控制完全指南 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_…
📅 2026/7/9 9:03:38
光电医美设备热设计长期被传统方形制冷片所局限,尤其院线主流的808半导体冰点脱毛仪,手具需中心垂直输出808nm激光、外围均匀冷却表皮,开槽改造的方形TEC始终存在制冷不均、光能损耗、寿命衰减等问题。环形半导体制冷片依托中空对称结构&…
📅 2026/7/9 9:03:38
1.检查、确认训练的输入、输出维度是否一致2.注意显存以及模型写入时磁盘剩余空间足够(t_shape_left_to_right_lora_finetune:9G左右,保存时须保证有30G以上剩余空间)3.docker构建新容器时一定要保证新配置名和训练时的名字一样4.…
📅 2026/7/9 10:05:55
前言做性能测试这些年,我发现一个很普遍的现象:大部分团队拿到性能测试报告,第一眼看TPS,第二眼看响应时间,第三眼看错误率,然后就没了。指标一达标,皆大欢喜,上线走起。但真正上线之…
📅 2026/7/9 10:05:55
基于智能代理技术的跨平台资源嗅探工具:重新定义网络内容获取新范式 【免费下载链接】res-downloader 视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载! 项目地址: https://gitcode.com/GitHub_Trending/re/res-downloader …
📅 2026/7/9 10:05:55
TensorFlow 2.x 实现 DDQN:解决推荐系统过估计的工程实践 推荐系统作为互联网产品的核心组件,其性能直接影响用户体验和商业价值。传统协同过滤方法在面对动态用户偏好时往往表现乏力,而强化学习技术正为这一领域带来革命性突破。本文将深入探…
📅 2026/7/9 10:05:55
Translumo终极指南:如何免费实现游戏、视频的实时屏幕翻译 【免费下载链接】Translumo Advanced real-time screen translator for games, hardcoded subtitles in videos, static text and etc. 项目地址: https://gitcode.com/gh_mirrors/tr/Translumo
你是…
📅 2026/7/9 10:05:55
AKShare:Python金融数据获取的革命性解决方案 【免费下载链接】akshare AKShare is an elegant and simple financial data interface library for Python, built for human beings! 开源财经数据接口库 项目地址: https://gitcode.com/gh_mirrors/aks/akshare …
📅 2026/7/9 10:03:54
掌握Docker多阶段构建镜像优化技巧在容器化技术日益普及的今天,Docker已成为开发与运维领域的基石工具。然而,随着应用复杂度提升,构建出的Docker镜像体积庞大、层数繁多、安全性欠佳等问题逐渐凸显,直接影响着部署效率、传输速度…
📅 2026/7/9 0:00:13
在当今快速迭代的IT运维与开发领域,自动化已成为提升效率、保障一致性的核心支柱。Ansible作为一款强大的IT自动化工具,以其无代理、简单易用的特点广受欢迎。而AWX,作为Ansible上游项目提供的企业级Web界面、API及任务引擎,则将A…
📅 2026/7/9 0:00:13
1. 项目概述:当动画成为性能瓶颈在Unity项目开发的中后期,尤其是涉及大规模场景、海量角色或复杂特效时,动画系统往往会成为性能的“阿喀琉斯之踵”。传统的骨骼动画(Skinned Mesh Renderer)虽然功能强大,但…
📅 2026/7/9 0:00:13
1. 项目背景与核心需求 在嵌入式系统开发中,快速精确的数据检索是一个常见但极具挑战性的需求。特别是在工业控制、医疗设备和物联网终端等场景下,系统往往需要在毫秒级时间内完成关键参数的读取和写入操作。传统基于Flash存储的方案存在擦写次数有限、操…
📅 2026/7/8 14:10:54
1. 工业电流环信号传输的基础认知在工业自动化领域,4-20mA电流环传输技术已经持续服役超过半个世纪。这种看似简单的信号传输方式之所以能经久不衰,核心在于其独特的抗干扰能力——电流信号在长距离传输时几乎不受线路电阻和电压波动的影响。我曾在化工厂…
📅 2026/7/8 14:10:54
最近在项目里尝试用 YOLO 做目标检测,从环境搭建到模型训练,再到推理部署,整个过程踩了不少坑。网上的资料虽然多,但要么版本老旧,要么步骤零散不成体系,对于刚入门的新手来说,很容易卡在某个环…
📅 2026/7/8 11:28:59
目录
第一步:选对模板,省心一半
第二步:打开扫码点餐功能
开启功能按钮
桌台管理与桌码生成
第三步:个性化设计,打造品牌感
调整点餐页面
设置点餐规则 你还在让顾客站着排队点餐吗?2025年ÿ…
📅 2026/7/8 14:10:54
在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…
📅 2026/7/8 14:10:54
FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE
你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…
📅 2026/7/8 14:10:54