DVD系统

package cn.solo.com;

import java.util.Scanner;

public class DVD {

public static void main(String[] args) {
Scanner input = new Scanner(System.in);
boolean flag = false;// 是否退出程序,false:不退出,true:退出
String[] names = new String[6];// DVD名字
int[] states = new int[6];// DV借阅状态,0:可借,1:借出去了
int[] dates = new int[6]; // 借出日期
int[] count = new int[6];// 借出次数
// 初始化数据
names[0] = "浪漫满屋";
states[0] = 1;
dates[0] = 8;
count[0] = 1;

names[1] = "罗马假日";
states[1] = 0;
dates[1] = 0;
count[1] = 20;

names[2] = "百科全书";
states[2] = 0;
dates[2] = 0;
count[2] = 30;
// 判断用户是否继续操作系统的数字:0为返回,
int num = -1;
// 程序的主体设计:DVD管理
do {
// 主菜单显示
System.out.println("****************欢迎使用迷你DVD管理器***************");
System.out.println("1.新增DVD");
System.out.println("2.查看DVD");
System.out.println("3.删除DVD");
System.out.println("4.借出DVD");
System.out.println("5.归还DVD");
System.out.println("6.退出DVD");
System.out.println("请选择相应的操作:");
String choose = input.next();
switch (choose) {
case "1":// 新增
System.out.println("**********新增DVD************");
System.out.println("请输入要增加的DVD名称:");
String name = input.next();// 增加的DVD名字
boolean flag1 = false;// false代表不能插入,true代表可以插入。
for (int i = 0; i < names.length; i++) {
// 插入DVD,第一个为null的位置,进行新增。
if (names[i] == null) {
names[i] = name;
flag1 = true;
break;
}
}

if (flag1) {
System.out.println("新增DVD《" + name + "》成功!");
} else {
System.out.println("货架已满,不能增加。");
}
break;
case "2": // 查看
System.out
.println("******************查看DVD*********************");
System.out.println("序号:\t状态\t名称\t借出日期\t借出次数");
for (int i = 0; i < names.length; i++) {
if (names[i] != null) {
String state = (states[i] == 0) ? "可借阅" : "已借出";//三木运算符判断
String dateStr = (dates[i] == 0) ? ""
: (dates[i] + "日");
String countStr = count[i] + "次";
System.out.println((i + 1) + "\t" + state + "\t"
+ names[i] + "\t" + dateStr + "\t" + countStr);
}
}
break;
case "3":// 删除
System.out.println("请输入要删除的DVD名称:");
String delete = input.next();
boolean flag2 = false;// 能否找到用户删除的DVD,false=no,true=yes。
// 记录删除的位置;
int index = -1;
// 找到要删除的DVD位置
for (int i = 0; i < names.length; i++) {
if (delete.equals(names[i]) && (states[i] == 1)) {
// 有,但是借出去了。
flag2 = true;
System.out.println("对不起,要删除的DVD已经被借出,无法删除。");
break;
} else if (delete.equals(names[i]) && (states[i] == 0)) {
// 有, 没借出去。
flag2 = true;
index = i;
System.out.println("删除" + delete + "成功");
break;

}

}
// 找到DVD,进行删除。
if (index != -1) {
// 根据index,进行删除、后面的值依次进行覆盖,最后一个值变为null。
for (int i = index; i < names.length; i++) {
if (i != names.length - 1) {
names[i] = names[i + 1];
states[i] = states[i + 1];
dates[i] = dates[i + 1];
count[i] = count[i + 1];
}
names[names.length - 1] = null;
states[names.length - 1] = 0;
dates[names.length - 1] = 0;
count[names.length - 1] = 0;
}
}
if (!flag2) {
System.out.println("对不起,没有匹配的DVD信息,无法删除!");
}

break;
case "4":// 借出
System.out.println("请输入要借阅的DVD名称:");
String want = input.next();

for (int i = 0; i < names.length; i++) {
if (names[i] == null) {//循环到null 依旧没有。

System.out.println("没有匹配的DVD信息");

break;
} else if (want.equals(names[i]) && (states[i] == 1)) {//已经借出
System.out.println("已经借出" + "《" + want + "》" + ",无法借阅");
break;
} else if (want.equals(names[i]) && (states[i] == 0)) {//没有借出
System.out.println("请输入借阅日期:");
dates[i] = input.nextInt();
while (dates[i] < 1 || dates[i] > 31) {
System.out.println("请重新输入日期(1-31):");
dates[i] = input.nextInt();
}
states[i] = 1;
count[i]++;
System.out.println("《" + want + "》" + "借阅成功");

break;
}
}

break;

case "5":// 归还
System.out.println("请输入要归还的DVD名称:");
String back = input.next();

for (int i = 0; i < names.length; i++) {
if (names[i] == null) {//循环到null,没有匹配。
System.out.println("没有匹配的DVD信息");
break;
} else if (back.equals(names[i]) && (states[i] == 0)) {//DVD未被借出
System.out.println("《" + back + "》" + ",没有被借出,无法归还。");
break;
} else if (back.equals(names[i]) && (states[i] == 1)) {//可以归还
System.out.println("请输入归还日期:");
int backDate = input.nextInt();// 归还日期
while (dates[i] > backDate || backDate > 31) {
if (dates[i] > backDate) {
System.out.println("归还日期不能小于借出日期,请重新输入:");
} else if (backDate > 31) {
System.out.println("归还日期必须在1-31之间,请重新输入:");
}

backDate = input.nextInt();
}
// 计算租金;
int money = (backDate - dates[i]) * 1;
System.out.println("\n*******************************");
System.out.println("《" + back + "》归还成功:");
System.out.println("《" + back + "》借阅日期:" + dates[i]
+ "日");
System.out.println("《" + back + "》归还日期:" + backDate
+ "日");
System.out.println("《" + back + "》应付租金:" + money + "元");
// 数据更新
states[i] = 0;// 变为可借状态
dates[i] = 0;// 借出日期为0
break;
}
}
break;
case "6":// 退出
flag = true;
break;

default:// 输入错误,默认退出
flag = true;
break;
}
if (flag) {
// 退出
num = -1;
break;
} else {
// 不退出
System.out
.println("*******************************************"
+ "\n请输入0返回:");
num = input.nextInt();
}
} while (num == 0);// 用户输入为0,进行循环。
System.out.println("谢谢使用");// 程序结束

}
}

转载于:https://www.cnblogs.com/soloxu/p/6187689.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,你需要一个基于 Python 的 DVD 管理系统,我可以为你提供一些思路和建议。 首先,你需要确定系统的功能和需求,比如: - 输入 DVD 信息(名称、导演、演员、类型、出版时间等) - 显示 DVD 信息列表 - 查询 DVD 信息 - 修改 DVD 信息 - 删除 DVD 信息 然后,我们可以使用 Python 的面向对象编程思想来实现这个系统。具体来说,可以定义一个 DVD 类,类中包含 DVD 的属性和方法,比如: ```python class DVD: def __init__(self, name, director, actors, genre, release_date): self.name = name self.director = director self.actors = actors self.genre = genre self.release_date = release_date def __str__(self): return f"{self.name} ({self.release_date}) directed by {self.director}, starring {self.actors}, genre: {self.genre}" ``` 然后,我们可以使用列表来存储 DVD 对象,实现添加、查询、修改和删除 DVD 信息的方法,比如: ```python class DVDManager: def __init__(self): self.dvds = [] def add_dvd(self, dvd): self.dvds.append(dvd) def search_dvd(self, name): for dvd in self.dvds: if dvd.name == name: return dvd return None def update_dvd(self, name, **kwargs): dvd = self.search_dvd(name) if dvd: for key, value in kwargs.items(): setattr(dvd, key, value) def delete_dvd(self, name): dvd = self.search_dvd(name) if dvd: self.dvds.remove(dvd) ``` 最后,我们可以编写一个简单的命令行界面来操作 DVD 管理系统,比如: ```python if __name__ == "__main__": manager = DVDManager() while True: print("DVD Management System") print("1. Add DVD") print("2. Search DVD") print("3. Update DVD") print("4. Delete DVD") print("5. Show all DVDs") print("0. Exit") choice = input("Enter your choice: ") if choice == "0": break elif choice == "1": name = input("Enter DVD name: ") director = input("Enter DVD director: ") actors = input("Enter DVD actors (separated by comma): ") genre = input("Enter DVD genre: ") release_date = input("Enter DVD release date (yyyy-mm-dd): ") actor_list = actors.split(",") dvd = DVD(name, director, actor_list, genre, release_date) manager.add_dvd(dvd) elif choice == "2": name = input("Enter DVD name: ") dvd = manager.search_dvd(name) if dvd: print(dvd) else: print("DVD not found") elif choice == "3": name = input("Enter DVD name: ") field = input("Enter field to update: ") value = input("Enter new value: ") manager.update_dvd(name, **{field: value}) elif choice == "4": name = input("Enter DVD name: ") manager.delete_dvd(name) elif choice == "5": for dvd in manager.dvds: print(dvd) else: print("Invalid choice") ``` 以上就是一个简单的基于 Python 的 DVD 管理系统的实现,希望对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值