Java面向对象之简单项目制作(DVD管理系统)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java面向对象之简单项目制作(DVD管理系统),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4832字,纯文字阅读大概需要7分钟。
内容图文
![Java面向对象之简单项目制作(DVD管理系统)](/upload/InfoBanner/zyjiaocheng/755/205b42baf68849c5ba6e57074016715d.jpg)
Java面向对象之简单项目制作(DVD管理系统)
任务:完成DVD的管理
主要功能:
1.新增DVD
2.查看DVD
3.删除DVD
4.借出DVD
5.归还DVD
DVD类
String name;//DVD名字
int state;//DVD状态
String date;//DVD借出时间
/**
* 空的构造函数
*/
public DVD() {
}
/**
* 带参的构造函数
* @param name
* @param state
* @param date
*/
public DVD(String name,int state,String date) {
this.name=name;
this.state=state;
this.date=date;
}
DVDMgr类
public class DVDMgr {
DVD[] dvdSet;//定义一个DVD类型的数组
int count;
Scanner scan=new Scanner(System.in);
public void init() { //0表示借出,1表示在库
dvdSet=new DVD[3];
dvdSet[0]=new DVD("罗马假日",0, "2017-5-12");
dvdSet[1]=new DVD("人名的名义",1,"");
dvdSet[2]=new DVD("三生三世",1,"");
}
//显示所有DVD信息
public void showAllDVD(){
System.out.println("序号"+"\t名称"+"\t\t状态"+"\t日期");
int j=1;
for(int i=0;i<dvdSet.length;i++) {
if(dvdSet[i]!=null) {
System.out.println((j++)+"\t"+dvdSet[i].name+"\t\t"+dvdSet[i].state+"\t"+dvdSet[i].date);
}
}
}
/**
* 菜单切换功能及输入非法数字时程序报错功能
*/
public void showMenu() {
System.out.println("欢迎使用迷你DVD管理器");
System.out.println("------------------------------------");
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("------------------------------------");
boolean flag=false;
do {
System.out.println("请选择:");
String num=scan.next();
num.charAt(0);//转换获取输入的第一个字符
if(num.length()>1) {//输入的字符串长度大于1,重新输入
System.out.println("非法字符!请重新输入");
flag=true;
}else {
if(num.charAt(0)>'0'&&num.charAt(0)<='9') {
if(num.charAt(0)>='7'&&num.charAt(0)<'9') {
System.out.println("非法操作!请重新输入");
flag=true;
}else {
switch (num.charAt(0)) {
case '1':
addDVD();
flag=false;
break;
case '2':
searchDVD();
flag=false;
break;
case '3':
deleteDVD();
flag=false;
break;
case '4':
borrowDVD();
flag=false;
break;
case '5':
returnDVD();
flag=false;
break;
case '6':
System.out.println("退出DVD");
System.exit(0);
default:
flag=false;
break;
}
}
}else {
System.out.println("必须输入整数,请重新输入!");
flag=true;
}
}
}while(flag);
}
/**
* 新增DVD
*/
public void addDVD() {
System.out.println("请输入要添加的DVD名称:");
String name=scan.next();
dvdSet=Arrays.copyOf(dvdSet, dvdSet.length+1);//数组扩容
dvdSet[dvdSet.length-1]=new DVD(name, 1, "");
System.out.println("新增DVD成功!");
System.out.println("***********************");
showMenu();
}
/**
* 查看DVD
*/
public void searchDVD() {
System.out.println("---> 查看DVD");
showAllDVD();
System.out.println("***********************************");
showMenu();
}
/**
* 删除DVD
*/
public void deleteDVD() {
System.out.println("---> 删除DVD");
System.out.println("请选择要删除的DVD名称:");
String name=scan.next();
//遍历数组,判断输入的DVD在库中是否存在,不存在直接返回主菜单
for(int i=0;i<dvdSet.length;i++) {
if(dvdSet[i].name.equals(name)!=true) {
count++;
}
}
if(count==dvdSet.length) {
System.out.println("未找到你要删除的DVD名称,返回主菜单!");
}
for(int i=0;i<dvdSet.length;i++) {
if(dvdSet[i].name.equals(name)) {
dvdSet[i]=null;
System.out.println("删除成功");
System.out.println("***********************");
}
}
showMenu();
}
/**
* 借阅DVD
*/
public void borrowDVD() {
System.out.println("---> 借出DVD");
SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");
Date date=new Date();
int j=0;
System.out.println("请输入要借的DVD名称");
String name=scan.next();
for(int i=0;i<dvdSet.length;i++) {
if(dvdSet[i].name.equals(name)!=true) {
count++;
}
}
if(count==dvdSet.length) {
System.out.println("您要借阅的DVD不在仓库中,回到主菜单");
}
for(int i=0;i<dvdSet.length;i++) {
if(dvdSet[i]!=null && dvdSet[i].state==1 && dvdSet[i].name.equals(name)) {
System.out.println("借出"+dvdSet[i].name+"成功!");
dvdSet[i].state=0;
dvdSet[i].date=sd.format(date.getTime());
break;
}
j++;
if(j==dvdSet.length) {
System.out.println("该dvd已借出"+dvdSet[i].name+"失败");
break;
}
}
showMenu();
}
/**
* 归还DVD
*/
public void returnDVD() {
Boolean flag=false;
System.out.println("---> 归还DVD");
SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");
long charge=0;
do {
for(int i=0;i<dvdSet.length;i++) {
System.out.println("请输入要归还的DVD名称");
String name=scan.next();
if(dvdSet[i].name.equals(name)) {
System.out.println("请输入归还日期:");
String date=scan.next();
try {
Date d1 = sd.parse(dvdSet[i].date);
Date d2 = sd.parse(date);
charge = (d2.getTime() - d1.getTime()) / (24 * 3600 * 1000);
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("归还成功!");
System.out.println("借出日期为:" + dvdSet[i].date+"归还日期为:" + date+"应付钱:" + charge+"元"
+"归还"+dvdSet[i].name+"成功");
dvdSet[i].date = "";// 归还日期归零
dvdSet[i].state = 1;// 状态转为可借
showMenu();
}else {
System.out.println("您输入的DVD名称有误;请重新输入");
flag=true;
break;
}
}
}while(flag);
}
}
主函数
public class Test {
public static void main(String[] args) {
DVDMgr dvdMgr=new DVDMgr();
dvdMgr.init();
dvdMgr.showMenu();
}
}
内容总结
以上是互联网集市为您收集整理的Java面向对象之简单项目制作(DVD管理系统)全部内容,希望文章能够帮你解决Java面向对象之简单项目制作(DVD管理系统)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。