南宁网站推广v1,免费网站建设朋友交流,怎么做网站推广最有效,英文wordpress转中文乱码本周我们完成的任务是傻瓜电梯的调度#xff0c;对于那十分十分详细的指导书#xff0c;我感觉想要说明白题目要求#xff0c;是做不到的#xff0c;所以就把指导书贴出来给大家看了#xff0c;#xff0c;由于在下还不会网页制作#xff0c;只能通过百度网盘了#xf…本周我们完成的任务是傻瓜电梯的调度对于那十分十分详细的指导书我感觉想要说明白题目要求是做不到的所以就把指导书贴出来给大家看了由于在下还不会网页制作只能通过百度网盘了https://pan.baidu.com/s/12KLXnQa9ifh1hZQrvqhjAw/pdf争取下次用网页吧虽然不知道什么时候才能学会。 看完题目我们开始分析吧 从最直接的角度分析就是请求与调度的关系直接点就是发出请求然后处理请求将所有合法请求过程构成请求队列调度器处理一个请求就是根据当前电梯状态发出一条指令然后电梯运行该条指令然后更新电梯的状态然后返回状态只调度器直到执行完最后一条指令。所以按照思想构造出五个类但这次作业在下并没有完全按照要求写虽然是五个类但是五个类的作用并不是完全按给出的建议。首先说一下几个类的功能 输入我们使用主类虽然输入是来自电梯类与楼层类但是作为两处输入太过于麻烦所以我们使用主类输入W_legal类该类作为对于输入的第一层判断也就是简单的过滤一些不合法输入Demand类该类也是作为对于输入的判断将所有不合法的输入过滤得到是正确的请求队列Scheduler类该类就调度器类在该类中判断是否是同质请求同时时间与队列是该类的关键的两个属性时间用于判断当前类的请求时间与当前时间的大小请求队列用于判断是否执行结束Elevator类该类就是电梯类接收来自调度器的指令然后执行该指令该类中的方法change()意思就是执行指令然后改变电梯的运行状态然后返回状态给调度类对于该想法本来我也觉得天衣无缝只可惜还是有漏网之鱼先列出自己的bug吧 对于输入我依旧采用了第一次作业方法对输入使用find(),错误……导致只要存在符合条件的输入就会执行而忽略了必须是完全匹配的条件对于数字的判断题目的要求是4字节的整数由于在java中是不存在unsigned类型的数据类型的也就意味着我们的数字最大位2^32-1而不是2^31-1所有数据类型要是long类型我都是这么写的但是还是错了那么错误在哪里呢本来在使用下面的这个方法时要注意一点时一定要是有try catch除非你事先确定了数据的位数 max Long.parseLong(4294967295); 对于自己想法的优化 最需要优化的地方当然是输入所以第三次作业在下重写写了一个输入具体见第三次作业如果还有什么要优化的话那就是代码风格吧为了纪念自己第一次使用面向对象的方法来实现这个作业容我贴一点核心代码 request_new.request_old legal_1.num;request_new.deal(); //得到一个队列队列中是按时间顺序的请求都是合法请求sche.request_n request_new.request1;sche.fetch();while(sche.request_n[sche.i][0]!0) {sche.state_c elev.state;sche.stop_time elev.st_time;sche.deal_t();elev.move sche.instr_o;elev.change();sche.i;} 转载于:https://www.cnblogs.com/wevolf/p/8682577.html