java----简单迷你DVD管理器☆☆☆


import java.util.Scanner;

public class TestDvd {
	public static void main(String[] args) {
		
		DvdUtil util = new DvdUtil();
		//Dvd类型的数组
		Dvd[] dvds=new Dvd[7];
		//创建了三个dvd对象
		Dvd d1=new Dvd("姜子牙",13,0,0);
		Dvd d2=new Dvd("花木兰",14,0,0);
		Dvd d3=new Dvd("夺冠",15,1,13);
		//把对象放到数组里
        dvds[0]=d1;
        dvds[1]=d2;
        dvds[2]=d3;
		
		/*//放dvd的名字
		String[] names=new String[7];
		//放借出次数
		int[] counts=new int[7];
		//0 1 状态 1已借出0可借
		int[] status=new int[7];
		//借出日期
		int[] dates=new int[7];
		
		names[0]="姜子牙";
		names[1]="花木兰";
		names[2]="夺冠";
		//借出次数
		counts[0]=13;
		counts[1]=14;
		counts[2]=15;
		//状态
		status[0]=0;
		status[1]=0;
		status[2]=1;
		//借出日期
		dates[2]=13;*/

		
		Scanner input = new Scanner(System.in);
		int con=-1;
		do {
			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.print("--------------------------------------\n");
			System.out.print("请选择: ");
			int choice = input.nextInt();
			switch (choice) {
			case 1:
				System.out.println("实现新增dvd的功能");
				//util.add(names);
				util.add2(dvds);
				break;
			case 2:
				System.out.println("实现查看dvd的功能");
	            //util.getAll(names,status,dates,counts);
	            util.getAll2(dvds);
				break;
			case 3:
				System.out.println("实现删除dvd的功能");
				//util.delete(names);
				util.delete2(dvds);
				break;
			case 4:
				System.out.println("实现借出dvd的功能");
				//util.lent(names, counts,status);
				util.lent2(dvds);
				break;
			case 5:
				System.out.println("实现归还dvd的功能");
				//util.back(names, counts, status, dates);
				util.back2(dvds);
				break;
			case 6:
				System.exit(0);
				break;
			default:
				break;
			}
			
			System.out.println("输入0继续");
			con=input.nextInt();
		}while(con==0);		
	}
}

import java.util.Scanner;
public class DvdUtil {
	//查看dvd的所有数据
	/*
	 * main中定义的变量是局部变量 查看main方法中的数组,getAll()不可以直接访问mian中的局部变量 访问main中的变量需要传参
	 */	
	
	public void getAll2(Dvd[] dvds) {
		System.out.println("序号\t名字\t状态\t归还日期\t借出次数\t");
		for (int i = 0; i < dvds.length; i++) {
			if(dvds[i]==null)
				break;
		if(dvds[i].getStatus()==0) //可借
			System.out.println((i+1)+"\t"+dvds[i].getName()+"\t"+"可借"+"\t"+dvds[i].getDate()+"\t"+dvds[i].getCount());
		else
			System.out.println((i+1)+"\t"+dvds[i].getName()+"\t"+"已借出"+"\t"+dvds[i].getDate()+"\t"+dvds[i].getCount());
		}	
	}
	
	
	
	//新增dvd
	//把新增的dvd放在那哪里?放在数组,数组在main中,不能直接访问,所以还需要传参
	public void add2(Dvd[] dvds) {
		Scanner input=new Scanner(System.in);
		System.out.println("请输入新的DVD名字:");
		String name=input.next();
		//要看数据是否有空位置,如果有空位置,可以新增,如果没有,则提示空间已满
		//找空位置
		//放空位置下标
		int index=-1;
		for (int i = 0; i < dvds.length; i++) {
			if(dvds[i]==null)
			{
				index=i;
				break;
			}
		}
		if(index==-1)
			System.out.println("空间已满,新增失败!");
		else {
			
			if(exists(dvds,name)) 
				System.out.println("要添加的DVD已经存在,新增失败!");
			else {
				//可以新增
				Dvd dvd = new Dvd(name,0,0,0);
				dvds[index]=dvd;
				System.out.println("新增成功!");		
			}
		}
	}	
		
	//判断是否已经存在要添加的DVD
	//存在返回true,不存在返回false	
	public boolean exists(Dvd[] dvds,String name) {
		for (int i = 0; i < dvds.length; i++) {
			if(dvds[i]==null) {
				return false;
			}
			if(name.equals(dvds[i].getName()))
				return true;
		}
		return false;
	}

	//删除DVD
	public void delete2(Dvd[] dvds) {
		Scanner input=new Scanner(System.in);
		System.out.println("请输入要删除的DVD名字:");
		String name=input.next();
		//查找要删除的DVD是否存在,若存在,则删除,若不存在则提示删除失败
		int index=-1;
		for (int i = 0; i < dvds.length; i++) {
			if(name.equals(dvds[i].getName())) {
				index=i;
				break;
			}			
		}
		if(index==-1)
			System.out.println("要删除的DVD不存在,删除失败!");
		else {
			int i;
			for (i = 0; i < dvds.length-1; i++) {
				dvds[i]=dvds[i+1];
			}
			dvds[i]=null;
		}
		System.out.println("删除成功!");		
	}
	
	
	
	//借出DVD
	public void lent2(Dvd[] dvds) {
		Scanner input=new Scanner(System.in);
		System.out.println("请输入要借出的DVD名字:");
		String name=input.next();
		//查找要借出的DVD是否存在,若不存在,则借出失败,若存在,则借出		
		int index=-1;
		for (int i = 0; i < dvds.length; i++) {
			if(name.equals(dvds[i].getName())) {
				index=i;
				break;
			}
		}
		if(index==-1)
			System.out.println("要借出的DVD不存在,借出失败!");
		else {
			dvds[index].setCount(dvds[index].getCount()+1);
			dvds[index].setStatus(1);
		}
		System.out.println("借出成功!");		
	}
	
	
	//归还DVD
	public void back2(Dvd[] dvds) {
		Scanner input=new Scanner(System.in);
		System.out.println("请输入要归还的DVD名字:");
		String name=input.next();
		System.out.println("请输入归还的日期:");
		int date=input.nextInt();
		//找到要归还的DVD
		int i;
		for ( i = 0; i < dvds.length; i++) {
			if(name.equals(dvds[i].getName()))
				break;
		}
		dvds[i].setCount(dvds[i].getCount()-1);
		dvds[i].setDate(date);
		if(dvds[i].getCount()==0) 
			dvds[i].setStatus(0);
		System.out.println("归还成功!");		
	}
	

}


public class Dvd {
	private String name;
	private int count;
	private int status;
	private int date;
	//alt+Shift+s
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getCount() {
		return count;
	}
	public void setCount(int count) {
		this.count = count;
	}
	public int getStatus() {
		return status;
	}
	public void setStatus(int status) {
		this.status = status;
	}
	public int getDate() {
		return date;
	}
	public void setDate(int date) {
		this.date = date;
	}
	//有参的构造函数
	public Dvd(String name,int count,int status,int date) {
		this.name=name;
		this.count=count;
		this.status=status;
		this.date=date;
	}
	//无参数构造函数
	public Dvd() {
		
	}

}

注释:


public class Test {

	public static void main(String[] args) {		
		//构造函数的作用是实例化对象
		//有参构造函数的作用是实例化对象的同时,给属性赋值
		//实例化一个对象		
		Dvd dvd1=new Dvd();
		//给实例的属性赋值
		dvd1.setName("返老还童");
		//输出dvd实例的name属性
		System.out.println("dvd1.getName(): "+dvd1.getName());
		//在实例化对象的同时,给对象的属性赋值
		Dvd dvd2=new Dvd("狂怒",21,0,0);
		System.out.println("dvd2.getName(): "+dvd2.getName()+" "+dvd2.getCount());

	}
}

运行结果如图

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值