- 2021-04-13 发布 |
- 37.5 KB |
- 13页
申明敬告: 本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
文档介绍
精选[迷你DVD管理器java] 迷你dvd管理器代码
[迷你DVD管理器java] 迷你dvd管理器代码 实 验 报 告 课程名称:面向对象信息系统开发 实 验:期中大作业 班 级:02 学生姓名:李康 序 号:34 学 号:20XX1060261 专 业:电子信息工程 指导教师:高莲 学 期:20XX-2020学年春季学期 成 绩: 云南大学信息学院 请用Java编程语言编写一个迷你DVD管理器,实现功能具体如下: *新增DVD *查看DVD *删除DVD *借出DVD *归还DVD 说明: 1、DVD相关信息如下: DVD的名称、是否可以借出,借出时间,租金每天多少钱、借出次数。 2、程序开始时,对数组进行初给化: 3、编写采单,实现功能选择,用控制语句实现: 4、DVD借出后请计算租金: 5、根据每张碟的借出次数对DVD进行排序并输出。 源代码: 1. package dvd; import java.util.Scanner; /** * * @author d */ public class DVD implements add,back,delete,lend,look{Scanner input = new Scanner(System.in);private String name;private String yesorno;private int money;private int days;private int times;private int nowdays;private String result;DVD(){} DVD(String name,String yesorno,int money,int days,int times,int nowdays,String result) { this.name=name; this.yesorno=yesorno; this.money=money; this.days=days; this.times=times; this.nowdays=nowdays; this.result=result; }public void getadd() { System.out.print(“请输入该DVD名称:“); this.name = input.nextLine(); System.out.print(“请输入是否可以租赁:(“yes”or“no”)“); this.yesorno = input.nextLine(); if(“yes“.equals(this.yesorno)) { System.out.print(“请输入租赁一天的费用(元):“); this.money = input.nextInt(); this.days =0; this.result=“no“; } this.times =0;}public void getback() { if(“yes“.equals(this.result)) { System.out.println(“归还成功“); this.result=“no“; } else System.out.println(“您未租赁该设备“);}public void getdelete() { this.name=null; this.yesorno=null; this.money=0; this.days=0; this.times=0; System.out.print(“删除成功“);}public void getlend() { if(“yes“.equals(this.yesorno)“no“.equals(this.result))//no未借出 { System.out.print(“请输入借用时间“); this.nowdays = input.nextInt(); System.out.println(“需要费用“+this.nowdays*this.money+“元“); this.result=“yes“; this.days=this.days+this.nowdays; this.times++; } else { System.out.println(“该DVD不允许借出或已经借出“); }}public int copy(){ return this.times;}public void getlook() { System.out.println(“该DVD的名称为“+this.name);if(! “yes“.equals(this.yesorno)) System.out.println(“该DVD不能借出“);else{ System.out.println(“该DVD能借出“); System.out.println(“该DVD借出一天需要“+this.money+“元“); System.out.println(“该DVD的总借出时间为“+this.days+“天“); System.out.println(“该DVD的借出次数为“+this.times+“次“);} }@Overridepublic void add() { throw new UnsupportedOperationException(“Not supported yet.“); //To change body of generated methods, choose Tools | Templates.}@Overridepublic void back() { throw new UnsupportedOperationException(“Not supported yet.“); //To change body of generated methods, choose Tools | Templates.}@Overridepublic void delete() { throw new UnsupportedOperationException(“Not supported yet.“); //To change body of generated methods, choose Tools | Templates.}@Overridepublic void lend() { throw new UnsupportedOperationException(“Not supported yet.“); //To change body of generated methods, choose Tools | Templates.}@Overridepublic void look() { throw new UnsupportedOperationException(“Not supported yet.“); //To change body of generated methods, choose Tools | Templates.} } 2. package dvd; /** * * @author d */ public interface add {void add(); } 3. package dvd; /** * * @author d */ public interface back {void back(); } 4. package dvd; /** * * @author d */ public interface delete {void delete(); } 5. package dvd; /** * * @author d */ public interface lend {void lend(); } 6. package dvd; /** * * @author d */ public interface look {void look(); } 7. package dvd; import java.util.Scanner; /** * * @author d */ public class test extends DVD{public static void main(String[]args){ String work,panduan=“goon“; int temp,delete=0;//delete计算删除的DVD的个数 Scanner input = new Scanner(System.in); Scanner sc = new Scanner(System.in); System.out.print(“请输入DVD的个数:“); int num = input.nextInt(); DVD[] dvd= new DVD[100]; for(int i=0;i<100;i++)//对已定义的DVD进行初始化 { dvd[i]=new DVD(“aa“,“bb“,1,1,1,1,“cc“); } for(int i=0;i<num;i++)//对程序开始时定义的DVD进行增添信息的操作 { System.out.printf(“%d“,i+1); dvd[i].getadd(); } while(“goon“.equals(panduan)) { System.out.println(“您将要做什么?新增(add),查看(look),删除(delete),借出(lend),归还(back)“); work = sc.nextLine(); //if(null != work) switch (work) { case “add“: num++; dvd[num-1].getadd(); break; case “look“: System.out.print(“您想看第几张DVD?“); int num1 = input.nextInt(); dvd[num1-1].getlook(); break; case “delete“: System.out.print(“您想删除第几张DVD?“); int num2 = input.nextInt(); dvd[num2-1].getdelete(); delete++;//计算删除DVD的个数 break; case “lend“: System.out.print(“您想借第几张DVD?“); int num3 = input.nextInt(); dvd[num3-1].getlend(); break; case “back“: System.out.print(“您想归还第几张DVD?“); int num4 = input.nextInt(); dvd[num4-1].getback(); break; default: System.out.println(“错误“); } System.out.print(“您还要继续进行操作吗?继续(goon)退出(out)“); panduan= sc.nextLine(); if(!“goon“.equals(panduan)) break; } int[] array= new int[num]; for(int i=0;i<num;i++)//将DVD借出次数依次存入数组 array[i]=dvd[i].copy(); for(int i=0;i<num-1;i++)//冒泡排序对借出次数进行排序 { for(int j=0;j<num-i-1;j++) { if(array[j]<array[j+1]) { temp=array[j]; array[j]=array[j+1]; array[j+1]=temp; } } } System.out.print(“借出次数排序为:“); for(int i=0;i<num-delete;i++) System.out.print(array[i]+“ “);//输出剩余DVD借出次数的排序} } 调试过程: 实验总结: 1. .接口是常量与抽象方法的集合,没有变量与方法的实现。 2. 接口(interface)是一种特殊的抽象类,在这种抽象类里面,所有的方法都是抽象方法,并且这个抽象类的属性(即成员变量)都是声明成“public static final 类型 属性名”这样的,默认也是声明成“public static final”即里面的成员变量都是公共的、静态的,不能改变的。 3. 一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类。另外,在Java中,接口类型可用来声明一个变量,他们可以成为一个空指针,或是被绑定在一个以此接口实现的对象。 流程图: 查看更多