简单DVD管理系统的实现

Java基础代码就可以实现一个这样的系统,可循环。

一.主要数据结构

使用四个并行数组存储DVD信息:

  • indexs[]:存储DVD序号
  • states[]:存储DVD状态("可借"/"已借出")
  • names[]:存储DVD名称
  • dates[]:存储借出日期

二.核心方法分析

初始化方法 setDVDS()

预置3条DVD数据:

  1. "罗马假日"(已借出)
  2. "风声鹤唳"(可借)
  3. "浪漫满屋"(可借)
主菜单 menu()

采用控制台交互方式,通过数字选择对应功能模块。包含返回上级菜单的逻辑(输入0返回)。

新增DVD addDVD()

查找第一个空位插入新DVD:

  • 自动生成递增序号
  • 默认状态设为"可借"
  • 日期字段留空
删除DVD deleteDVD()

执行删除前检查:

  1. 确认DVD存在
  2. 检查DVD未被借出 删除后自动前移后续元素
借出DVD lendDVD()

验证条件:

  1. DVD存在
  2. 状态为"可借" 借出操作包括:
  • 更新状态为"已借出"
  • 记录借出日期

归还DVD

backDVD()getMoney(),用于实现DVD租赁系统的归还功能和租金计算功能。

backDVD()方法处理DVD归还流程:

  1. 接收用户输入的DVD名称和归还日期
  2. 检查DVD是否存在(通过遍历names数组)
  3. 若存在则检查当前状态是否为"已借出"
  4. 执行归还操作并调用getMoney()计算租金

getMoney()方法计算租金:

  1. 使用SimpleDateFormat处理日期格式
  2. 计算借出日期和归还日期之间的天数差
  3. 返回天数作为租金金额(假设每天租金1元)

代码结构评估

数组使用:

  • 使用三个平行数组(names/states/dates)存储DVD信息
  • 通过数组索引关联不同属性

日期处理:

  • 采用"yyyy-MM-dd"格式处理日期
  • 使用getTime()方法获取时间戳计算天数差

异常处理:

  • 对日期解析进行try-catch处理
  • 方法返回-1表示计算失败

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值