Java 面向对象 dvd租赁功能

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

1.设计一个DVD类  属性应该有  名字,状态,借出日期....

2.创建三本DVD  放到数组中(只需要一个数组)

3.6个功能要写成6个方法   在main方法中调用         DVD stu[ ]=new DVD[10]  //创建一个DVD类型的数组


package com.tryy;
public class dvd {
  String name;
 String zt;
String date;
int counts;
public dvd(String name, String zt, String date, int counts) {  //有参构造方法
	
	this.name = name;  //DVD名
	this.zt = zt;      //DVD状态
	this.date = date;  //DVD日期
	this.counts = counts;  //DVD借出次数
}
public dvd() {
}
}
package com.tryy;

import java.util.Scanner;


public class text {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
	work w=new work();
	w.init();
	w.menu();
	

		
	}
}

 

package com.tryy;

import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;

public class work   {
    static dvd stus[]=null;     //新建一个null数组
    Scanner input=new Scanner(System.in);
    boolean a=false;    
    public void init(){         //初始化
    	stus=new dvd[10];
    	stus[0]=new dvd("罗马假日","可借","0",6);
    	stus[1]=new dvd("风声鹤唳","已借出","2018.05.18",5);
    	stus[2]=new dvd("浪漫满屋","可借","0",3);
     /*  dvd stu1=new  dvd ();
      *  stu1.name="罗马假日";
         stu1.zt="可借";
         stu1.date=0;
         stu1.counts=6;
         dvd  stu2=new  dvd();
         stu2.name="风声鹤唳";
        stu2.zt="可借";
         stu2.date=0;
         stu2.counts=5;
         dvd stu3=new  dvd();
         stu3.name="浪漫满屋";
         stu3.zt="可借";
         stu3.date=0;
         stu3.counts=3;*/
//  	 stus[0]=stu1;stus[1]=stu2;stus[2]=stu3;  //stus[0]=stu1=new dvd();
    }
    public void  menu() {
    	System.out.println("欢 迎 使 用 迷 你 DVD 管 理 器");
		System.out.println("---------------------");
		System.out.println("1. 新 增 DVD\n2. 查 看 DVD\n3. 删 除 DVD\n4. 借 出 DVD\n5. 归 还 DVD\n6. 退 出DVD");
		System.out.println("-----------------------");
		System.out.print("请选择:");
		  Scanner input=new Scanner(System.in);
	      int  	num = input.nextInt();
		  switch(num){
		   case 1:
			   add();
			   returnmenu();
			   break;
		   case 2:
			    look();
			   returnmenu();
				break;
		   case 3:
			   deletdvd();
			   returnmenu();
			   break;
		   case 4:
			   lend();
			   returnmenu();
			   break;
		   case 5:
			   returnDVD();
			   returnmenu();
			   break;
		   case 6:
			   System.out.println("成功退出迷 你 DVD 管 理 器");
				System.exit(0);
				break;
		  default:returnmenu();
		  }
	}
    public void  add(){   //新 增DVD
    	System.out.println("---> 新 增DVD");
		System.out.println("请输入DVD名称:");
		String  num1 = input.next();
		for(int i=0;i<stus.length;i++){	
			if(stus[i]==null){
				stus[i]=new dvd();
				stus[i].name=num1;
				stus[i].zt="可借";
				stus[i].date="0";
				stus[i].counts=0;
				System.out.println("新增<<" + stus[i].name + ">>成功!");
				break;
			}
		}
		System.out.println("**************************");
		
			}
	public void look(){   //查看DVD
		
		System.out.println("---> 查看DVD");
		System.out.println("序号  \t状 态 \t名称\t借出日期\t\t借出次数");
	 	for(int i=0;i<stus.length;i++){
		   	   if(stus[i]!=null){
		   		   if(!stus[i].date.equals("0")){
		   		   System.out.println((i+1)+"\t"+stus[i].zt+"\t"+stus[i].name+"\t"+stus[i].date+"\t"+stus[i].counts);
		   		   }if (stus[i].date.equals("0")){
		   			 System.out.println((i+1)+"\t"+stus[i].zt+"\t"+stus[i].name+"\t"+stus[i].date+"\t\t"+stus[i].counts);
		   		   }

		   		   }
		      }
	}
	 public void deletdvd()  {     //删除DVD
		    Boolean a=false;
	    	System.out.println("---> 删除DVD");
			System.out.println("请输入DVD名称:");
			String sname = input.next();
			for (int i = 0; i < stus.length; i++) {
				//stus:  数组
				//stus[i]:  数组的第i个值  (第i个对象)
				//stus[i] != null  数组第i个位置是否有对象,如果不等于null 说明这个位置有对象
				//
				if (stus[i] != null) {
					if (stus[i].name.equals(sname)&&stus[i].zt.equals("可借")) {
						a=true;
						System.out.println("删除" + sname + "成功!");
						for ( ; i< stus.length - 1; i++) {
						
						/*stus[i].name = null.name;
						stus[i].zt=stus[i+1].zt;
						stus[i].date=stus[i+1].date;
						stus[i].counts=stus[i+1].counts;*/
						stus[i]=stus[i+1];
						}
						stus[stus.length - 1] = null;
						/*stus[stus.length - 1].zt = null;
						stus[stus.length - 1].date =0;
						stus[stus.length - 1].counts = 0;*/
					}else if (stus[i].name.equals(sname)&& stus[i].zt.equals("已借出")) {
						System.out.println("本书已借出,暂时无法删除!");
						break;
					}
				}
			}
			System.out.println("**************************");
			if (a == false) {
				System.out.println("dvd找不到删除失败!");
			}
	    }
	    public  void lend() {
			// TODO Auto-generated method stub
	    	System.out.println("---> 借出DVD");
			System.out.println("请输入DVD名称:");
			String name1 = input.next();
			Date time=new Date();
			SimpleDateFormat ft=new SimpleDateFormat("yyyy.MM.dd"); //yyyy年      MM月    dd 日
			SimpleDateFormat t=new SimpleDateFormat("yyyy.MM.dd hh:mm:ss a E"); //年月日 hh时 mm分 ss秒   a上午还是下午  E星期几
			System.out.println("借出日期为:"+ft.format(time));
			for (int i = 0; i < stus.length; i++) {
				if(stus[i]!=null){
				if (stus[i].name.equals(name1)) {
					if(stus[i].zt.equals("可借")){
					a = true;
					stus[i].zt = "已借出";
					stus[i].counts ++;
					stus[i].date = ft.format(time);
					System.out.println(name1 + "借出成功!"+"借出时间为:"+t.format(time));
				}
				}
				}
			}
			if (a == false) {
				System.out.println("已被借出,请选其他!");
			}
			System.out.println("**************************");
		}
	    public void  returnDVD() {
	    	System.out.println("---> 归 还 DVD");
			System.out.println("请输入DVD名称:");
			String name5 = input.next();
			for (int i = 0; i < stus.length; i++) {
				if(stus[i]!=null){
				if (stus[i].name.equals(name5)) {
					a = true;
					stus[i].zt = "可借";
					
					System.out.println("请输入借出的天数:");
					int day = input.nextInt();
					System.out.println("归还<<" + stus[i].name + ">>成功!");
					System.out.println("借出日期为:" + stus[i].date);
					System.out.println("借出天数为:" + day+"天");
					double n=day*0.8;
					DecimalFormat format=new DecimalFormat("0.0"); //使用DecimalFormat格式化输出值 保留小数点后一位
					double a=0.235655148;
					format.format(a);//0.23
					System.out.println("应付租金(元):"+format.format(n));
					stus[i].date="0";
					System.out.println("**************************");
				}}
			}if (a == false) {
				System.out.println("DVD归还失败!请输入要归还的正确的dvd名字!");
			}
		}
	  public void returnmenu(){
	    	System.out.println("输入0返回:");
			Scanner input = new Scanner(System.in);
			if (input.nextInt() == 0) {
				// 在此进入菜单切换
				menu();
			} else {
				System.out.println("输入异常,请重新输入:");
				returnmenu(); // 递归调用。
			}
	    }
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值