GithubHelp home page GithubHelp logo

simpleelevator's Introduction

输入:字符串 --> 楼层请求,电梯请求

指令 --> 指令列队 --> 一条一条执行 输出:

请求: 请求列队:分析指令 过滤掉不合法的

测试用例

测试用例1: 用户输入的请求为: (FR, 10,DOWN,0) RUN 输出电梯运行状态为: (10, UP,4.5)

测试用例2: (FR, 10,UP,0) RUN 输出: 无效请求:(FR, 10,UP,0.0) 原因:在10层按了UP

测试用例3: 用户输入的请求为: (FR, 1,DOWN,0) RUN 输出: 无效请求:(FR, 1,DOWN,0.0) 原因:在1层按了DOWN

测试用例4: 用户输入的请求为: (FR, 1,UP,0) RUN 输出电梯运行状态为: (1, STILL,1.0)

测试用例5: 用户输入的请求为: (FR, 3,DOWN,0) (FR, 4,UP,1) (ER, 2, 2) (FR, 10,DOWN,2.5) RUN 输出电梯运行状态为: (3, UP,1.0) (4, UP,2.5) (2, DOWN,4.5) (10, UP,9.5)

测试用例6: 用户输入的请求为: (ER, 1, 0) RUN 输出电梯运行状态为: (1, STILL,1.0)

测试用例7: 用户输入的请求为: (FR, 4,UP,0) (FR, 4,DOWN,0) RUN 输出电梯运行状态为: (4, UP,1.5) (4, STILL,3.5)

测试用例8: 用户输入的请求为: (FR, 3,DOWN,0) (FR, 4,UP,4) (FR, 4,DOWN,4) (ER, 4, 8) RUN 输出电梯运行状态为: (3, UP,1.0) (4, UP,4.5) (4, STILL,6.5) (4, STILL,9.0)

测试用例9: 用户输入的请求为: (FR, 3,DOWN,0) (FR, 4,UP,4) (FR, 4,DOWN,6) (ER, 4, 6) RUN 输出电梯运行状态为: (3, UP,1.0) (4, UP,4.5) (4, STILL,7.0) (4, STILL,8.0)无效

测试用例10: 用户输入的请求为: (FR, 3,DOWN,0) (FR, 4,UP,4) (FR, 4,DOWN,6) (ER, 4, 5) RUN 无效请求:(ER, 4, 5) 输出电梯运行状态为: (3, UP,1.0) (4, UP,4.5) (4, STILL,7.0)

提示信息可以自己定义,第一条指令若不是0时刻,也可以修正。合并请求和无效请求提示方式也可以自己定。 比如一组输入如下: (FR, 4,UP,4) (FR, 4,DOWN,6) (ER, 4, 5) RUN ==========电梯调度开始========== 用户输入的第一条指令时间自动置0): (FR, 4,UP,0.0) 移除无效请求:(ER, 4, 5.0),原因:请求时间乱序下一个请求时间小于上一条请求时间 用户输入的请求为: (FR, 4,UP,0.0) (FR, 4,DOWN,6.0) 输出电梯运行状态为: (4, UP,1.5) (4, STILL,7.0)

更正:上面测试用例 第9条输出如下 用户输入的请求为: (FR, 3,DOWN,0) (FR, 4,UP,4) (FR, 4,DOWN,6) (ER, 4, 6) RUN 无效请求:(ER, 4, 6) 去除 原因:静止状态电梯内的同层请求 输出电梯运行状态为: (3, UP,1.0) (4, UP,4.5) (4, STILL,7.0)

增加 测试用例11: (FR, 3,DOWN,0) (FR, 4,UP,4) (FR, 4,UP,4.5) (ER, 5, 6) (ER, 5, 6.5) RUN (FR, 4,UP,4.0)与(FR, 4,UP,4.5) 是相同请求 (ER, 5, 6.0)与(ER, 5, 6.5)是相同请求 输出电梯运行状态为: (3, UP,1.0) (4, UP,4.5) (5, UP,6.5)

电梯位于的楼层

simpleelevator's People

Contributors

heheda365 avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.