DVD项目: 用面向对象的思想做DVD租赁系统

package com.dvd;
//属性(变量) 方法
public class DVD2 {
//属性
private String name;//名字
private int status;//状态 0 可借 1 已借出
private int count;//借出次数
private int date;//借出日期
//方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
public int getDate() {
return date;
}
public void setDate(int date) {
this.date = date;
}
public DVD2() {
// TODO Auto-generated constructor stub
}
public DVD2(String name, int status, int count, int date) {
super();
this.name = name;
this.status = status;
this.count = count;
this.date = date;
}
}

//测试类
package com.test;
import java.util.Scanner;
import com.dvd.DVD2;
import com.util.Util;
//Test类和Dvd类不在一个包里,所以用的时候要导包
public class Test {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
Util util = new Util();
// 创建一个数组 保存三本dvd
DVD2[] dvd = util.init();
// 循环体
int kk;
do {
System.out.println(“欢迎来到迷你DVD管理器”);
System.out.println(“====================================”);
System.out.println(“1.新增”);
System.out.println(“2.查看”);
System.out.println(“3.删除”);
System.out.println(“4.借出 “);
System.out.println(“5.归还”);
System.out.println(“6.退出”);
System.out.println(“=====================================”);
System.out.println(“请选择:”);
int choose = input.nextInt();
switch (choose) {
case 1:
util.add(dvd); // 新增
break;
case 2:
util.searchAll(dvd);// 查看
break;
case 3:
util.delect(dvd);// 删除
break;
case 4:
util.loan(dvd);// 借出
break;
case 5:
util.giveback(dvd);// 归还
break;
case 6:
System.out.println(“成功退出DVD管理系统”);
System.exit(0);
break;
default:
System.out.println(“请输入数字1,2,3,4,5,6”);
break;
}
System.out.println(“请输入0返回:”);
kk = input.nextInt();
} while (kk == 0);
}
}

//实现功能方法
package com.util;
import java.util.Scanner;
import com.dvd.DVD2;
//存放数组的各种操作方法
public class Util {
//数组的初始化
//初始化方法 创建三本dvd 放到数组中 涉及到传参的问题
public DVD2[] init(){
DVD2[] dvd=new DVD2[5];
DVD2 dvd1=new DVD2(“郑爽的书”, 1, 1, 4);
DVD2 dvd2=new DVD2(“不是药神”, 0, 0, 2);
DVD2 dvd3=new DVD2(“乖,摸摸头”, 1, 1,2);
dvd[0]=dvd1;
dvd[1]=dvd2;
dvd[2]=dvd3;
return dvd;
}

//新增==========================================================================
public void add(DVD2[] dvd) {
Scanner input=new Scanner(System.in);
System.out.println(“————-新增————”);
System.out.println(“请输入新增DVD名字:”);
String name=input.next();
//1.查看是否重名 2.有沒有空位置
String conn=”n”; // n 不重名 y重名
boolean flag=false;//false 沒有空位置 true 有空位置
int index=-1; //保存 空位置的下标
for (int i = 0; i < dvd.length; i++) {
if(dvd[i]==null){
flag=true;
index=i;
break;
}
if(dvd[i].getName().equals(name)){//重名
conn=”y”;
break;
}
}
if(conn==”n”&&flag==true){
dvd[index]=new DVD2(name, 0, 0, 0);
System.out.println(“新增成功”);
}
else{
System.out.println(“已有此DVD,或者内存已满,添加失败”);
}
}
//查看 带参数===========================================================================
public void searchAll(DVD2[] dvd){
System.out.println(“——————–查看——————”);
System.out.println(“序号\t状态\t名称\t借出日期\t借出次数”);
for (int i = 0; i < dvd.length; i++) {
if(dvd[i]==null){
break;
}
System.out.println((i+1)+”\t”+dvd[i].getStatus()+”\t”+dvd[i].getName()+”\t”+dvd[i].getDate()+”\t”+dvd[i].getCount());
}
}
//删除================================================================================
public void delect(DVD2[] dvd) {
Scanner input=new Scanner(System.in);
System.out.println(“———————删除———————-“);
System.out.println(“请输入要删除的DVD名字:”);
String name=input.next();
String conn=”y”;// y 存在 n 不存在
boolean flag=true;//true 已可借 flase 可借
int index=-1;
for (int i = 0; i < dvd.length; i++) {
if(dvd[i]==null){
break;
}
if(dvd[i].getName().equals(name) && dvd[i].getStatus()==0){
flag=false;//存在
conn=”y”;//可借
index=i;
break;
}
}
if(conn.equals(“y”)&& flag==false){
//开始删除 后面的元素往前挪
for (int i = index; i < dvd.length-1; i++) {
dvd[i]=dvd[i+1];
}
dvd[dvd.length-1]=null;
System.out.println(“删出成功”);
}
else{
System.out.println(“不存在或已借出,删除失败”);
}
}
//借出====================================================================
public void loan(DVD2[] dvd) {
Scanner input=new Scanner(System.in);
System.out.println(“—————–借出————–”);
System.out.println(“请输入要借出的DVD名字:”);
String name=input.next();
boolean flag=true;
int index=-1;
for (int i = 0; i < dvd.length; i++) {
if(dvd[i]==null){
break;
}
if(dvd[i].getName().equals(name)){
flag=false;
index=i;
break;
}
}
if(flag==false){
if(dvd[index].getStatus()==0){
System.out.println(“请输入借出日期:”);
int n=input.nextInt();
dvd[index].setDate(n);
dvd[index].setStatus(1);
dvd[index].setCount(dvd[index].getCount()+1);
System.out.println(“借出成功”);
}
else{
System.out.println(“此DVD已被借出”);
}
}
else{
System.out.println(“并没有此DVD”);
}
}
//归还==================================================================
public void giveback(DVD2[] dvd) {
Scanner input=new Scanner(System.in);
System.out.println(“—————归还————–”);
System.out.println(“请输入归还的DVD名字:”);
String name=input.next();
boolean flag=true;
int index=-1;
for (int i = 0; i < dvd.length; i++) {
if(dvd[i]==null){
break;
}
if(dvd[i].getName().equals(name)){
flag=false;
index=i;
break;
}
}
if(flag==false){
if(dvd[index].getStatus()==0){
System.out.println(“此DVD是可借状态,还书失败”);
}else{
System.out.println(“请输入归还的日期:”);
int s=input.nextInt();
dvd[index].setStatus(0);
System.out.println(“借出日期:”+dvd[index].getDate());
System.out.println(“应归还日期:”+s);
System.out.println(“应付租金是:”+(s-dvd[index].getDate()));
System.out.println(“归还成功”);
}
}else{
System.out.println(“没有此DVD,归还失败”);
}
}
}

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值