异常码汇总

搬家公司管理系统

考试提醒
1、 请仔细阅读规格文档,理解规格文档估计需要花费10~40分钟来理解,请务必看清楚要求再动手,试题包括规格描述和代码框架。
2、 答题时建议经常保持能编译运行,确保可以获得已经实现功能的得分。
3、 在阅读题目后请同时阅读随代码框架提供的单元测试用例代码和注释以帮助更好的理解题意,在完成答题后一定要确保随代码框架提供的单元测试用例执行通过。
4、 每道题已经提供初步的框架,请在此框架上继续完成代码。随试题提供的代码框架*.java文件使用GBK编码,请调整eclipse等IDE的编码字符集为GBK,以防止源文件中的中文出现乱码。
5、 试题框架提供的原有代码,除需要考生实现的方法体外的其他的内容(包括常量定义,方法签名等)均不能做任何修改。
6、 可以根据需要在代码框架中新增属性,方法等,也可以在本类中调用其他自己开发的类。不建议使用其他第三方lib库,如果确实需要使用,请务必将lib库拷贝到lib目录下。
7、 除题目明确要求需要考虑的异常情况、输入校验外,其他异常情况和输入校验一律不需要考虑。
8、 最终答题代码,请以如下形式打包提交:
姓名全拼_8位工号_类别_级别.zip
|____src
|____bin
|____lib
|_____XXX.jar
示例:zhangsan_00123456_通用软件(java)_3级.zip
1、 总体说明
实现一个搬家公司管理系统,能完成车辆管理、订单管理等工作,并给出报表统计数据。
1.1 系统规则
如果系统没有初始化,所有接口需要抛出异常E000。
如果输入参数不合法,所有接口需要抛出异常E001。
系统时间
1. 系统时间模型为(日期,时间点)。
2. 日期为正整数,初始化后为1,每过一天日期加1,范围1~200。
3. 时间点为正整数,范围0~23。
4. 系统中每月固定为30天。
5. 可以通过setTime修改系统时间来模拟时间的推进,每次修改不能小于当前时间,否则抛出异常E002。注意:修改时间后注意刷新系统中车辆、订单、报表的相关信息。
6. 自然月指每月的1号到那个月的月底。计费月指从计费起始日起的30天,为了简单,以下规格中每月是指计费月,月底是指计费月的月底。。

车辆管理
系统初始有车5辆(可配置),每辆配1名司机,2名搬运工,司机不负责搬运。车月租3000元(包括车和司机)。月租在起租日当天支付,以后每30天支付一次。

1. 可通过hireTruck租用车。
a) 车id为整数,范围0~99,即最大可租用车数量为100。
b) 系统初始化后固定租用5辆车,id为0~4,后续id从5开始递增。
c) 分配id时采用递增策略,从0开始分配。
d) 达到最大id限制时需要抛出异常E004。
2. 可通过fireTruck退租车。
a) 如果车辆不存在,抛出异常E005。
b) 如果退租的车辆有交付中和未交付的订单,抛出异常E008。
c) 在计费月开始第一天退租仍然要付月租。
订单管理
1. 可通过inputOrder录入订单,入参结构如下:

订单录入项目 描述
总重量 totalWeight 单位:100公斤,正整数。
总体积 totalVolume 单位:立方米,正整数。
距离 distance 单位:10公里,正整数,起点到终点距离。
起始日期 startDate 当前日期必须比起始日期提前3天,即“起始日期”-“当前日期”>=3。

id分配策略:
a) 订单id为整数,范围0~99,即最大可支持订单数量为100
b) 分配id时采用递增策略,从0开始分配。
c) 达到最大id限制时需要抛出异常E004。

订单规划:
系统结合当前订单和可用车情况进行规划和费用计算。
影响规划的参数:
a) 搬运工能力:从起始地搬运物品到车上,车开到目的地,再把物品搬下车,搬运效率是50公斤/时/人。
b) 车能力:车辆容积统一为4立方米,载重为400公斤,平均时速10公里/时。不考虑两个订单间路程耗费的时间,但考虑一个订单多次往返耗费的时间,即使只需运输一次,也要计算往返的时间。
c) 每辆车固定配置2名搬运工。

规划原则:
a) 每车每次只能运输一个订单。
b) 每个订单只投入一辆车,但可以进行多次搬运。
c) 每次装运都要保证尽量满载(满载表示或者不能再承重,或者没有空间)状态,一个订单的最后一次运输允许不是满载。
d) 按订单录入时间先后安排资源。
e) 安排车辆时按照车辆id从小到大寻找可用车辆。
f) 1天可安排的起始时间点是3~22,可接受订单的最大时长是20小时,注意23点可作为订单的最后结束点,但不是可安排的起始时间点。
g) 在一天中寻找可用时间段时按照尽早安排原则,且时间必须连续。
h) 订单不允许跨天,要保证订单在当天完成,不能完成的订单不接受。
i) 车辆运输过程中,人在车上,但忽略人占用的容积。

如果资源不足,不能接受订单,抛出异常E007。

费用计算:
订单录入成功则收取预付费,费用计算公式如下:
单订单预付费计算:收取费用的30%作为预付费,计算时取整即可,不考虑四舍五入。

订单交付后收取订单费用中除了预付费外的费用,订单费用计算公式如下:
单订单费用计算:成本*110%,即成本溢价10%。
搬运工费用=花费小时数*20元/小时,注意:这里花费小时包括搬运时间和随车时间。
车的油费=车行驶里程*2元/公里。注意:行驶里程按往返计算,即使不需要搬运多次。
车的每小时租金=月租金/30天/20小时。
车的租金=花费小时数*车的每小时租金。
成本 = 搬运工费用+车的油费+车的租金。
单订单费用 = 成本 * 110%

时间: 2024-10-06 14:55:36

异常码汇总的相关文章

Pycharm最新激活码汇总,pycharm2019激活码

Pycharm激活码汇总 激活过程如下: 1.双击运行桌面上的Pycharm图标,进入下图界面,选择Do not import settings,之后选择OK,进入下一步. 2.拖动到底部,选择Accept. 3.在License Activation激活界面,选择Active,选择Activation code,粘贴如下激活码,点击ok. 关注公众号「吾非同」获取更多pycharm技巧.python技术资源,精华程序员电子书. 激活码一 520E5894E2-eyJsaWNlbnNlSWQiO

Pycharm2020最新激活码汇总|pycharm永久激活-速度转发收藏

最近很多人的Pycharm激活时间又过期了,后台很多人索要激活码,我就再把激活的方法汇和工具再梳理一次给大家. 最主要有两种激活方式(两种方式需要的激活码不同): 一.激活码激活:一般一年多需要激活一次,在License Activation激活界面,选择Active,选择Activation code,粘贴如下激活码,点击ok.读者福利,想要了解python可直接点击链接即可领取相关学习福利包:https://shimo.im/docs/3GtTJxvVhwxwKvxG 是安全网站放心,继续访

http状态码汇总及问题经验总结

我们经常会遇到404.500.302等提示,它们究竟是什么意思呢?除了这几个常见的状态码外,还有哪些我们没有遇到过的但有可能出现的状态码呢?这里本人做了一个汇总,与大家分享一下. 常见的HTTP错误可以分为以下四大类.每一大类又细分为很多类小错误.当您打不开网站或者打开网站报错时首先检查您输入的网站是否有误,检查网络是否有问题或者DNS是否可以解析.确定没有问题时再看下面http常见错误分析: 1.400错误 问题原因: 您所要打开的网页不存在或你填写的身份验证信息不正确. 解决方法: 重新尝试

Apkbus不错的源码汇总

框架类源码年度精品汇总 :查看 盘点--生活实用类源码 :查看 不可错过的十大高仿客户端源码 :查看 特效源码集合:查看

网页错误页提示码汇总及使用示例

      Web项目中总会遇到对错误页面的设计,好的错误页面处理,会让软件体验更佳,可以帮助运维人员了解基本错误信息,更好的维护软件.当然从底层避免错误是更好的软件开发方式,但我们很难避免软件一些非常隐性的Bug. 以下对网页错误页提示码进行汇总,并对最常见的404错误给出示例页面Demo. 2xx- 成功:这类状态提示码代表服务器成功地接受了客户端请求.           200:确定,客户端请求已成功.           201:已创建.           202:已接受.    

iOS开发者福利之精品源码汇总!免费下载

汇总一些看着不错的源码,有需要的朋友过来下载吧!{:4_102:} 1.用swift制作的色彩炫丽的进度条-KDCircularProgressKDCircularProgress是使用swift制作的色彩炫丽的进度条,可以加入多种颜色来控制进度条的渐变效果.支持xcode6.3 ios8.3.源码下载地址:用swift制作的色彩炫丽的进度条-KDCircularProgress 2.ios精品:如何实现快速集成下拉上拉刷新效果源码 使用方法: .添加头部控件的方法 [self.tableVie

http状态码汇总

本文转载自http://blog.csdn.net/leo115/article/details/8854771 常见HTTP状态码 200 OK 301 Moved Permanently 302 Found 304 Not Modified 307 Temporary Redirect 400 Bad Request 401 Unauthorized 403 Forbidden 404 Not Found 410 Gone 500 Internal Server Error 501 Not

Android学习——R文件丢失异常原因汇总

Console报错:R.java was modified manually! Reverting to generated version! 引言: R文件丢失异常在java开发中是个比较常见的异常,造成这个异常的原因可能非常微小,但是给Android开发者们造成的麻烦可是巨大的,当程序员们费尽千辛万苦,找到自己错在哪里的时候,绝对会对自己的粗心大意而捶胸顿足,哀叹不已. 异常提示: R.java was modified manually! Reverting to generated ve

精品源码汇总

       1.云相册(作者:Steven)(注:标题为下载地址超链)        该项目是一款基于人脸识别注册和登录,并支持分享的云相册.登陆模块采用了两种登陆方式,一种是        基于Face++的人脸识别登陆,另一种方式是基于Bmob数据库的账号密码登陆.        综合点评:        该项目所用服务较广,包括科大语音讯飞.Face++人脸识别.ShareSDK分享.Afinal异步加载图片和Bmob数据库等.整体界面来看,有欢迎页和引导页面.但注册界面比较简陋,并且没