超市管理系统
1.完成水果项类的编写
类名 FruitItem
属性
商品名称(String)
商品编号(int)
商品单价(double)
计价单位(String)
商品数量(int)
商品金额(double)
2.主流程外相关方法实现
a.创建一个类FruitStore
b.在类中完成三个方法
方法名enterNumber 参数 无 返回值类型 int
方法名enterString 参数 无 返回值类型 String
方法名enterDouble 参数 无 返回值类型 double
3.完成首页
1.首先完成主体流程
1.成员变量定义一个集合用来存储所有水果数据
2.定义一个init方法,用来给水果添加数据
方法名init 参数 无 返回值 无
a.创建水果项对象
b.给对象属性赋值
c.将水果项添加到集合中
3.给用户提示
欢迎语句
用户操作语句
4.用户根据提示输入数字
5.根据用户输入的数字使用switch判断
switch(){
case 1:
购买
case 2:
结账
...
}
6.将用户每一次操作循环
while(true){
提示语句
输入操作
switch判断
}
完成总体流程之后,只要挨个完成每个方法就可以了
2.完成购买方法(就是给某个水果项数量赋值的过程)
方法名buy 参数 无 返回值类型 void
A.打印商品列表
先完成一个打印商品列表的方法直接调用即可
方法名 showFruitList 参数 无 返回值 无
(1)打印表头
(2)将水果集合中的水果依次打印出来
遍历集合,依次获得每个水果项,打印对应信息即可
B.打印打折信息
按照页面将打折信息打印即可
C.用户根据商品列表选择商品
整体是一个死循环,因为需要用户反复输入编号,进行购买,输入0结束购买
while(true){
(1)提示用户输入要购买商品的编号
(2)用户输入编号
(3)判断编号是否为0,如果是0,直接return结束购买操作
(4)定义一个变量来记录是否存在当前编号的商品
boolean b = false;
(5)判断集合中是否存在用户输入的编号
遍历集合依次获取所有的水果项
使用每个水果项的编号和用户输入的编号比较
如果相等代表用户要购买的水果集合当中存在
b = true
让用户输入当前水果的数量
(6)判断boolean b的值是否为false 如果为false 代表用户输入的编号集合中不存在
如果不存在给予提示:输入的编号不存在
}
3.完成打印小票方法
方法名printReceipt 参数 无 返回值类型 void
A.票头
死数据的打印
B.票体(用户购买的水果的信息)
1.判断水果集合中哪些水果数量不为0
遍历集合,依次获取每个水果项
如果水果项的数量不为0
直接打印水果信息(注意这时金额还没有计算,需要此时进行计算)
C.票角(统计信息的打印,这些统计信息的计算可以在票体中进行)
1.定义项数变量 int lineNumber = 0;
2.定义总金额 int totalMoney = 0.0;
3.判断水果集合中哪些水果数量不为0
遍历集合,依次获取每个水果项
如果水果项的数量不为0
lineNumber++;
totalMoney+=水果项的金额
4.完成打折
定义打折方法
给我一个打折前的金额,返回打折后的金额
方法名 doDiscount 参数 double 返回值类型 double
(1)定义一个打折后的变量等于传进来打折前的金额
(2)if语句判断完成打折逻辑
(3)将打折后的金额返回
4.完成重置数据方法
方法名 resetNumber 参数 无 返回值 无
将集合中所有的水果项的数量和金额都置为0
遍历集合依次获取所有的水果项
将水果项的数量和金额置0
5.完成流水查询方法
1.记录流水
成员位置定义流水集合flowData
在打印小票最后将每一次流水添加到集合当中
2.展示流水
方法名 showFlow 参数 无 返回值 无
(1)判断集合长度是否为0
如果长度为0,代表没有流水,给予提示:今天还没开张
结束流水方法 直接retrun
(2)遍历流水集合将里面的数据打印出来
6.完成总收入查询方法
方法名 dailyIncome 参数 无 返回值 总收入
遍历流水集合 获取所有数据累加的和
7.完成查询货物方法
就是之前的showFruitList,直接调用即可
8.完成添加货物方法
方法名 addFruitItem 参数无 返回值 无
(1)提示用户输入新水果编号
(2)接收用户输入的新水果的编号
(3)判断用户输入的编号在集合中是否存在
遍历集合,依次获得每个水果项
判断用户输入的编号和每个水果项的编号是否相等
如果相等 提示用户编号已存在,添加商品失败
添加方法结束 直接return
(4)如果方法没结束 代表编号没有重复 那么进行添加
创建新水果项
水果项的ID为用户输入的编号
提示用户输入新水果的其他信息,并水果项属性赋值
将水果项放入集合中
提示添加成功
9.完成删除货物方法
方法名 delFruitItem 参数 无 返回值 无
(1)提示用户输入要删除水果编号
(2)接收用户输入的要删除的水果的编号
(3)判断用户输入的编号在集合中是否存在
遍历集合,依次获得每个水果项
判断用户输入的编号和每个水果项的编号是否相等
如果相等 直接删除
提示用户删除成功
删除方法结束 直接retrun
(4)如果方法没结束 代表编号在集合中不存在
给予提示 编号不存在 删除失败
10.完成修改货物方法
方法名 updateFruitItem 参数 无 返回值 无
(1)提示用户输入要修改的水果编号
(2)接收用户输入的要修改的水果的编号
(3)判断用户输入的编号在集合中是否存在
遍历集合,依次获得每个水果项
判断用户输入的编号和每个水果项的编号是否相等
如果相等
提示用户继续输入要修改的信息
将这些信息赋值给当前水果项属性
提示用户修改成功
修改方法结束 直接retrun
(4)如果方法没结束 代表编号在集合中不存在
给予提示 编号不存在 修改失败
|
|