# testForREADME **Repository Path**: onfly/testForREADME ## Basic Information - **Project Name**: testForREADME - **Description**: No description available - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2016-10-17 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README --- title: homework_for_thoughtworks使用手册 tags: homework,thoughtworks,使用手册 --- # 概要 本程序是为了解决thoughtworks校招homework部分的问题。 本问题是软件开发部分的问题。 # 问题描述 请参考 校招专场-homework.pdf # 主要功能 1. 根据日期、时间段和参与人数,计算出这次活动的收钱数、付钱数和净收入 格式如:2016-06-02 20:00~22:00 +210 -240 -30(日期 时间段 收钱数 付钱数 净收入) # 迁移问题 1. **只是想看结果,就用run.bat**。 2. 由于时间原因,没有使用maven管理,所以有些jar问题,需要你解决 3. 你需要把本项目中原有的jdk和junit引用删掉,重新添加你自己的 4. 本项目使用了lombok.jar来简化代码,所以你还需要添加lombok.jar,当然lombok.jar还要配置Eclipse,相关配置过程:http://www.cnblogs.com/snzigod/p/5832929.html # 使用方法 1. 在价格表数据文件(standardOfPrice.txt)中写入价格数据 格式如: 1).周一到(及,至等不区分)周五 9:00~12:00 30元/时(只要有个两个":00"结尾的时间) 12:00~18:00 50元/时 18:00~20:00 80元/时 20:00~22:00 60元/时 2).周六到周日 9:00~12:00 40元/时 12:00~18:00 50元/时 18:00~22:00 60元/时 2. 在活动数据文件(data.txt)中写入每次活动的数据 格式如:2016-06-02 20:00~22:00 7(日期 时间段 参与活动的人数) 3. 运行项目Runner类的main方法 # 代码整体解读 1. Reader来解读数据,具体实例它的子类来解读,因为Reader中并没有具体的解读方式,Reader子类中可以自定义你的解读方式。如果后期需求更改,只要多添加一个Reader的子类,就能实现新的解读方式。 2. 项目中有三类计算器,分别是FieldCalculator、IncomeCalculator、PriceCalculator,分别计算场地数量、收钱数、单场价格。前两个比较简单,但是是根据人数或者单人缴费数来计算,数据从构造器传入,可重构性更强。PriceCalculator比较复杂,请参看源代码 3. 数据类*包含*关系 Acivity |-------Date |-------Time Time |-------TimeSegments UnitPrice |-------DateSegments |-------TimeSegments #测试 1. 本项目使用JUnit测试几个比较重要、多结果的函数,在test包下面 2. 每个类还有具体的main函数测试 # 现存问题 1. 读取方式固定,不能读取其他形式的数据 2. SimpleDateFormat出现问题,不能解析日期,同样的代码,在项目外没有问题。已找到替代方案。