一.题目描述某栋楼只有一部电梯,当你按下一个数时,电梯就会运行到那一层。已知电梯上一层需要6s,下降一层需要4s,在需要停留的那层停留5s。现在,电梯里有若干人,每个人都有去不同楼层的可能性,请问,电梯在完成最后一人的请求后,一共花了多少时间。二.解题思路1.首先,我们需要了解电梯中的人按了多少次不同的楼层请求。 2.这些不同的请求是哪些楼层。 3.分别写出上楼和下楼所需时间函数。int main
转载
2023-10-24 08:08:08
102阅读
# Java中的电梯时间计算
在现代建筑中,电梯不仅承担着载人和搬运货物的重任,还在提升使用舒适性方面起到重要作用。在这篇文章中,我们将探讨如何用Java编写一个电梯控制程序,并计算电梯的等待时间和运行时间。我们将通过代码示例、序列图以及状态图使这一过程更易理解。
## 1. 电梯工作原理
电梯的工作原理可以概括为:用户按下电梯按钮,电梯根据当前楼层和目标楼层的距离进行调度,以最优化的方式载
目录1. 设计策略多线程间的协同同步控制2. 架构设计的可扩展性可扩展性功能设计和性能设计设计原则SOLID检查SPR-Single Responsibility PrincipleOCP-Open Close PrincipleLSP-Liskov Substition PrincipleISP-Interface Segregation PrincipleDIP-dependency Inve
转载
2023-07-19 11:38:00
159阅读
这次的作业是一个结对作业,我对我的Partner比较熟悉,信任和放心,而他对我也是如此,这对我们顺利完成项目有很大的有利影响。我们一开始比较默契的是都想到用Java语言进行编写代码,我认为以后工作可能对Java的优势比较大,另外我对Java,Eclipse也比较熟悉,于是我们就想通过这次作业提升一下自己的Java编程的能力。好了,下面介绍我们的代码——可以看到,我们设计了一共6个类,其中电梯有四个
转载
2023-12-06 23:32:04
82阅读
Java实现电梯调度算法电梯算法简介题目代码实现效果图 电梯算法简介当磁头正在由里向外移动时,电梯调度算法所选择的下一个访问对象应是其欲访问的磁道,既在当前磁道之外,又是距离最近的。这样由里向外地访问,直至再无更外的磁道需要访问时,才将磁臂换向,由外向里移动。这时,同样也是每次选择在当前磁道之内,且距离最近的进程来调度。 ——摘自百度百科 网上大多将电梯调度算法和扫描算法看作同一个算法,我们老师
转载
2023-08-11 14:05:57
106阅读
在办公楼的电梯里高层期间,每层都有人上下。电梯呢只要每层有一个人都有停一次。这样比较麻烦,对于比较低的楼层(6层),每次电梯从一层往上走时,我们只允许电梯停在其中的某一层,然后所有的乘客爬楼梯到自己的目的层。在一楼时,每一位乘客选择自己的楼层,电梯根据每层的人数来计算出应该停的楼层.问:电梯停在哪一层,能够保证这次乘坐电梯的所以乘客爬楼梯层数之和最少.分析与解法:  
转载
2023-09-27 13:43:42
95阅读
一、分次作业总结1、傻瓜电梯的调度(1)设计策略 作为面向对象中多线程的入门,电梯调度单元整体难度并不是很大,其中的重点就在于如何实现多线程中各个线程工作的安全执行。在第一次作业中最重要的是如何实现共享资源的维护,即如何实现共享队列的维护,保证电梯请求的有序执行;以及在请求结束时程序的正常退出。 在做第一次作业时,我的设计策略主要是用一个Arra
转载
2023-06-21 23:12:42
241阅读
概述刚刚过去的oo第二单元主要是来训练我们java多线程设计。借助电梯这个载体,逐步深入,线程的信息交互,控制也随之复杂。尽管,我本单元成绩不是很好看,但是,确实学到了不少东西。下面,我就借助分析三次作业,来谈下我的收获。作业分析第一次作业(1)任务分析本次作业需要模拟一个多线程实时电梯系统,从标准输入中输入请求信息,程序进行接收和处理,模拟电梯运行,将必要的运行信息通过输出接口进行输出。本次作业
转载
2023-07-19 22:02:19
129阅读
/**作者:黄叶海 * 日期:2011.6-7 * 功能:电梯调度算法; * 说明:电梯调度算法的基本原则就是如果在电梯运行方向上有人要使用电梯则继续往那个方向运动,如果电梯中的人还没有到达目的地则继续向原方向运动。具体而言,如果电梯现在朝上运动, * 如果当前楼层的上方和下方都有请求,则先响应所有上方的请求,然后才向下响应下方的请求;如果电梯向下运动,则刚好相反。 * 设计要求:模拟
转载
2023-07-24 17:05:37
62阅读
一、程序实现的功能1) 在Main程序中进行初始化之后定义一个计时器,每秒钟执行一次遍历。根据程序条件,决定是否需要改变、改变成什么样的下状态。 2) 人选择到达自己楼层最快的电梯,且该电梯能停到自己要到达的楼层。 3) 如果出现多个人等待电梯时,每次电梯到达时从队列顺序上电梯,电梯满时停止。 4)需要一秒钟激励一次,而且判断出如果所有的
转载
2023-07-31 15:56:06
262阅读
应王老师的作业要求,杨康和苏康奖于最经几天对学校里的电梯进行一定的调查,我们也经过了一些讨论看以后程序中的一些功能如何实现。 对学校办公楼的电梯进行的调查结果:电梯从一层到十一层,一共四台电梯,每台电梯限载十三人、限重九百公斤,电梯开关门时间约三秒,每名乘客上下电梯的时间约为三秒,电梯每上一层的时间约为三秒。 作业中电梯调度中的要
转载
2023-11-06 16:37:08
115阅读
一、多线程电梯系列作业设计策略1. 第一次作业——"FAFS傻瓜电梯"第一次作业是先来先服务的"傻瓜电梯",我当时觉得这个设计未免太简单了,于是就在傻瓜电梯的基础上加上贪心算法,每次都执行电梯内外距离最近的请求(但是没有行进中的捎带)。由于第一次没有限制CPU时间,而且我的wait--notify用得不太熟,因此就采取了暴力轮询的方式。我将我将调度器线程写在了main函数中(这是个很不好的设计,第
转载
2024-06-13 20:39:28
0阅读
1.程序架构1.1 作业一:单部ALS电梯第一周的作业虽说是要求多线程,但是也只是生产者多线程,也就是多个InputThread线程不断向调度器中投入Passenger,(但电梯只有一个)在执行的过程中,需要给共享对象,也就是调度器加锁,防止线程不安全出错。我使用的是简单的synchronized + notifyAll() 的方式,由于InputThread只需要放Passenger,放完就结束
伙伴成员:李伊 对于这次作业,我刚开始一点思绪都没有,在老师安排了结对伙伴李伊之后,我的搭档问我,我们需要什么编程语言来编写程序,我细想了一下,大一到大三,我们就学了C语言、C++就这两种语言,而且C一开始果断放弃,因为没法做界面,C++也觉得不靠谱,虽然可以做界面,但是太麻烦,也指望不上。进入大三以后,自己选修过JAVA,自学过安卓,而李伊也自学过JAVA,所以用JAVA来编写电梯这个作业也就一
转载
2023-11-28 11:10:36
58阅读
本单元主要通过电梯系列习题培养同学们的多线程编程能力,难度逐步递增。第一次最为简单,第二次、第三次则相对困难。我个人在三次作业中均使用wait与notifyAll来解决线程暂停与运行,三次作业架构基本相同,通过在类中增加不同方法来实现不同功能:思路清晰,大大简化了编程难度。一、作业总结及度量第一次作业 本次作业较为简单。在写本次作业之前我在网上通过Mooc学习了Java多线程课程,通过熟悉、
转载
2023-12-12 15:41:27
76阅读
电梯模拟的实现题目 模拟某校九层教学楼的电梯系统。该楼有一个自动电梯,能在每层停留,其中第一层是 大楼的进出层,即是电梯的“本垒层”,电梯“空闲”时,将来到该层候命。 电梯一共有七个状态,即正在开门(Opening)、已开门(Opened)、正在关门(Closing)、 已关门(Closed)、等待(Waiting)、移动(Moving)、减速(Decelerate)。 乘客可随机地进出于任何层。
转载
2023-10-24 12:08:30
101阅读
一.题目要求二.程序设计定义三个函数int abs_(int a, int b, int c, int d);//判断响应满足请求最近的电梯号
int check(int goTo, int now);//检查电梯状态,并判断最近电梯是否满足条件(是否超重)
int call(int now, int goTo, int dir, int a);//响应用户请求主函数void main()
{
转载
2023-06-28 09:51:32
396阅读
在我的职业生涯中,我常常遇到各种编程挑战。今天我想与大家分享一个有趣的编程问题:“如何用 Java 编写一个电梯模拟系统”。在这个过程中我发现了许多重要的细节,这不仅是一个编程练习,更关乎如何高效地进行系统设计和调试。
### 背景定位
近年来,随着智能建筑技术的发展,电梯的控制技术也在不断更新。电梯作为日常生活中不可或缺的一部分,其智能化、自动化程度直接影响着用户的出行体验,提升了物业的管理
1 概述本单元我基于Java完成了一套多线程电梯运行与调度模拟系统。本文中我将按本单元3次作业的迭代顺序,总结我的设计思路与关键实现细节。通过本文,你可以了解到:简单的Java多线程设计模式多线程程序的增量开发方法2 作业回顾2.1 第一次作业本单元实现了北航新主楼A-E座共享输入单电梯系统。2.1.1 代码架构|- MainClass: 程序运行入口
|- Launcher: 启动器
|- Re
转载
2024-01-10 18:58:15
288阅读
技术支持程序开发软件:Keil仿真软件:Proteus逻辑开发语言:C 语言单片机型号:AT89C51文件说明cong1.c:是从单片机程序逻辑源码zhu1.c:是主单片机程序逻辑源码仿真:在 Proteus 软件内使用项目介绍本设计模拟的是一个五层的,各楼层间隔为 4.5m 的电梯程序控制系统,能够完成各楼层乘客的接送任务。形象地说,就是要对不同楼层乘客的不同需求,作出合理高效的判断,使所有顾客