JAVA小作业:DVD管理系统

Test类提供main方法:

import java.util.ArrayList;
import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        ArrayList<DVD> arrayList = new ArrayList<>();

        arrayList.add(new DVD("罗马假日",0,1,15));
        arrayList.add(new DVD("风声鹤唳",1,0,12));
        arrayList.add(new DVD("浪漫满屋",1,0,30));

        while(true){
            System.out.println("欢迎进入miniDVD管理系统");
            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("--------------------------------------------");
            System.out.println("请输入:");
            Scanner input = new Scanner(System.in);
            int num = input.nextInt();

            DVDSystemImpl dvdSystem = new DVDSystemImpl();
            DVD dvd = new DVD();

            switch (num) {
                case 1:
                    dvdSystem.addDVD(arrayList, dvd);
                    break;
                    case 2:
                        dvdSystem.selectDVD(arrayList);
                        break;
                        case 3:
                            dvdSystem.deleteDVD(arrayList, dvd);
                            break;
                            case 4:
                                dvdSystem.lendDVD(arrayList, dvd);
                                break;
                                case 5:
                                    dvdSystem.returnDVD(arrayList, dvd);
                                    break;
                                    case 6:
                                        return;
            }
        }
    }
}

 DVD类提供DVD的属性:

import java.util.Objects;

public class DVD {
    private String name;
    private int state;
    private int date;
    private int count;

    public DVD() {
    }

    public DVD(String name, int state, int date, int count) {
        this.name = name;
        this.state = state;
        this.date = date;
        this.count = count;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getState() {
        return state;
    }

    public void setState(int state) {
        this.state = state;
    }

    public int getDate() {
        return date;
    }

    public void setDate(int date) {
        this.date = date;
    }

    public int getCount() {
        return count;
    }

    public void setCount(int count) {
        this.count = count;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        DVD dvd = (DVD) o;
        return Objects.equals(name, dvd.name);
    }

    @Override
    public int hashCode() {
        return Objects.hash(name);
    }
}

IDVDInterface接口提供增加、删除、显示、借出、归还DVD方法:

import java.util.ArrayList;

public interface IDVDInterface {
    boolean addDVD(ArrayList<DVD> dvds,DVD dvd);
    void selectDVD(ArrayList<DVD> dvds);
    boolean deleteDVD(ArrayList<DVD> dvds,DVD dvd);
    boolean lendDVD(ArrayList<DVD> dvds,DVD dvd);
    boolean returnDVD(ArrayList<DVD>dvds,DVD dvd);

}

DVDSystemImpl类为IDVDInerface接口的实现类:

import java.util.ArrayList;
import java.util.Scanner;

public class DVDSystemImpl extends DVD implements IDVDInterface{
    public DVDSystemImpl() {
    }

    public DVDSystemImpl(String name, int state, int date, int count) {
        super(name, state, date, count);
    }


    @Override
    public boolean addDVD(ArrayList<DVD> dvds, DVD dvd) {
        System.out.println("--->新增DVD");
        System.out.println("请输入您要新增的DVD名称:");
        Scanner input = new Scanner(System.in);
        dvd.setName(input.next());
        if(dvds.contains(dvd)){
            System.out.println("该DVD已存在,新增DVD失败");
            return false;
        }else{
            System.out.println("新增DVD"+dvd.getName()+"成功");
            dvds.add(dvd);
            return true;
        }
    }

    @Override
    public void selectDVD(ArrayList<DVD> dvds) {
        System.out.println("--->查看DVD");
        System.out.println("序号\t\t\t"+"状态\t\t\t"+"名称\t\t\t\t"+"借出日期\t\t\t\t"+"借出次数\t\t\t");
        for(int i = 0;i<dvds.size();i++){
            System.out.println((i+1) +"\t\t\t"+ dvds.get(i).getState()+"\t\t\t"+"《"+dvds.get(i).getName()+"》\t\t\t"+dvds.get(i).getDate()+"日"+"\t\t\t"+dvds.get(i).getCount()+"次"+"\t\t\t");
        }

    }

    @Override
    public boolean deleteDVD(ArrayList<DVD> dvds, DVD dvd) {
        System.out.println("--->删除DVD");
        System.out.println("请输入要删除DVD的名称");
        Scanner input = new Scanner(System.in);
        String name = input.next();
        dvd.setName(name);

        if(dvds.contains(dvd)){
            dvds.remove(dvd);
            System.out.println("删除成功");
            return true;
        }else{
            System.out.println("该DVD不存在,删除失败");
            return false;
        }
    }

    @Override
    public boolean lendDVD(ArrayList<DVD> dvds, DVD dvd) {
        System.out.println("--->借出DVD");
        System.out.println("请输入借出DVD的名称:");
        Scanner input = new Scanner(System.in);
        String name = input.next();
        dvd.setName(name);
        System.out.println("请输入借出DVD的日期:");
        int d = input.nextInt();
        dvd.setState(dvds.get(dvds.indexOf(dvd)).getState());
        if(dvds.contains(dvd)&&dvd.getState()==1){
            System.out.println("借出DVD《"+dvd.getName()+"》成功");
            dvds.get(dvds.indexOf(dvd)).setState(0);
            dvds.get(dvds.indexOf(dvd)).setDate(d);
            dvds.get(dvds.indexOf(dvd)).setCount(dvds.get(dvds.indexOf(dvd)).getCount()+1);
            return true;
        }else{
            System.out.println("借出失败");
            return false;
        }
    }

    @Override
    public boolean returnDVD(ArrayList<DVD> dvds, DVD dvd) {
        System.out.println("--->归还DVD");
        System.out.println("请输入要归还DVD的名称:");
        Scanner input = new Scanner(System.in);
        dvd.setName(input.next());
        if(dvds.contains(dvd)&&dvds.get(dvds.indexOf(dvd)).getState()==0){
            System.out.println("归还DVD"+dvd.getName()+"成功");
            dvds.get(dvds.indexOf(dvd)).setState(1);
            dvds.get(dvds.indexOf(dvd)).setDate(0);
            return true;
        }else {
            return false;
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值