迷你图书器

package bms;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;

//图书类
public class Book {
  Scanner input=new Scanner(System.in);
  Book[] books=new Book[20];
	
  String bookName;//图书名
  boolean rentStatus;//是否借出
  int count;//借出次数
  String date;//借出时间
  
  public void init(){
	books[0]=new Book();
	books[0].bookName="宫";
	books[0].rentStatus=false;
	books[0].count=0;
	books[0].date="";
	
	books[1]=new Book();
	books[1].bookName="海贼王";
	books[1].rentStatus=true;
	books[1].count=300;
	books[1].date="2017-03-22";
	
	books[2]=new Book();
	books[2].bookName="老人与海";
	books[2].rentStatus=true;
	books[2].count=80;
	books[2].date="2017-03-12";
  }
  //0.查看所有
  public void selectAll(){
	  System.out.println("图书名"+"\t"+"是否借出"+"\t"+"借出次数"+"\t"+"借出时间");
	  for(int i=0;i<books.length;i++){
		if(books[i]!=null){
		  System.out.println(books[i].bookName+"\t"+
		         (books[i].rentStatus?"已借出":"未借出")+"\t"
			     +books[i].count+"\t"+books[i].date);
		}
	  }
  }
  //1.添加图书
  public void Add(){
	 boolean isOK=false;//是否添加成功
	 for(int i=0;i<books.length;i++){
		 if(books[i]==null){
			 System.out.println("图书添加失败!");
		 }else{
		 books[i]=new Book();
		 System.out.print("请输入要添加的图书名:");
		 books[i].bookName=input.next();
		 books[i].rentStatus=false;
		 books[i].count=0;
		 books[i].date="";
		 System.out.println(books[i].bookName+"添加成功!");
		 isOK=true;
		 break;
		 }
	 }
  }
  //2.查询某本图书
  public void select(){
	  System.out.print("请输入要查看的图书名称:");
	  String lookBK=input.next();
	  int index=-1;//是否找到了
	  for(int i=0;i<books.length;i++){
		if(books[i]!=null){
			if(lookBK.equals(books[i].bookName)){
				index=i;
				break;
			}
		}
	  }
	  System.out.println("图书名:"+"\t"+"是否借出"+"\t"+"借出次数"+"\t"+"借出时间");
	  System.out.println(books[index].bookName+"\t"+
	        (books[index].rentStatus?"已借出":"未借出")+"\t"+
			  books[index].count+"\t"+books[index].date);
  }
  //3.删除图书
  public void delete(){
	  boolean flage=false;//标识是否找到
	  System.out.print("请输入要删除的图书名:");
	  String dName=input.next();
	  for(int i=0;i<books.length;i++){
		if(books[i]!=null){
			//书名一样并且没有被借出
			if(dName.equals(books[i].bookName)&&(!books[i].rentStatus)){
				  int j=i;
				  while(books[j+1]!=null){//找到的后一项不为空
					  books[j].bookName=books[j+1].bookName;
					  books[j].count=books[j+1].count;
					  books[j].rentStatus=books[j+1].rentStatus;
					  books[j].date=books[j+1].date;
					  j++;
				  }
				  books[j]=null;//找到的当前项赋值为空
				  System.out.println(dName+"删除成功!");
				  flage=true;//找到了要删除的图书
				  break;
			  }
		 }
	  }
	  if(!flage){
		  System.out.println("没有找到该图书,或图书已借出,借书失败!");
		  System.out.println("***************************");
	  }
  }
  //4.借出图书
  public void Jie(){
	boolean flage=false;//是否找到
	System.out.print("请输入要借出图书的名称:");
	String jName=input.next();
	for(int i=0;i<books.length;i++){//遍历数组,查找要借的图书名
	  if(books[i]!=null){
		  if(jName.equals(books[i].bookName)&&(!books[i].rentStatus)){
			  books[i].rentStatus=true;//修改借书状态
			  books[i].count+=1;//借出后,次数加1
			  System.out.println("借书成功!");
			  flage=true;
			}
	    }
	}
	if(!flage){
		System.out.println("借书失败,图书不存在或已借出!");
	}
  }
  //5.归还图书
  public void guiHuan(){
	System.out.print("请输入要归还的图书名称:");
	String ghName=input.next();
	int index=-1;//是否找到
	int i;
	for(i=0;i<books.length;i++){//遍历数组找到图书,修改图书借出状态
		if(ghName.equals(books[i].bookName)){
			index=i;
			break;
		}
	}
	books[i].rentStatus=false;
	
	SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
	Date d1=new Date();//归还时间
	sdf.format(d1);//格式化当前时间
	String jTime=books[i].date;
	try {
		Date d2=sdf.parse(jTime);//从数组中取出借书时间
		sdf.format(d2);//格式化化借书时间
		long s=(d1.getTime()-d2.getTime())/(1000*60*60*24);
		System.out.println("总共借书"+s+"天!");
		int mony=0;//租金
		for(int j=0;j<s;j++){
			mony+=1;
		}
		System.out.println("借书总金额为:"+mony+"元");
		
	} catch (ParseException e) {
		System.out.println("你输入的时间格式不正确!");
	}
  }
}

package bms;

import java.util.Scanner;

public class Test {
  public static void main(String[] args){
	  Scanner input=new Scanner(System.in);
	  Book bk=new Book();
	  bk.init();
	  String isGo;//是否继续
	  do{
		  System.out.println("欢迎使用迷你图书器"); 
		  System.out.println("------------------------------------");
		  System.out.println("               0.列表                                                 ");
		  System.out.println("               1.新增                                                 ");
		  System.out.println("               2.查看                                                 ");
		  System.out.println("               3.删除                                                 ");
		  System.out.println("               4.借出                                                 ");
		  System.out.println("               5.归还                                                 ");
		  System.out.println("------------------------------------");
		  System.out.print("请选择:");
		  int op=input.nextInt();
		  switch(op){
		  case 0:
			  bk.selectAll();//查看所有
			  break;
		  case 1:
			  bk.Add();//添加
			  break;
		  case 2:
			  bk.select();//查看
			  break;
		  case 3:
			  bk.delete();//删除
			  break;
		  case 4:
			  bk.Jie();
			  break;//借出
		  default:
			  bk.guiHuan();
			  break;//归还
		  }
		  System.out.print("是否继续?(y/n):");
		  isGo=input.next();
	  }while(isGo.equalsIgnoreCase("y"));{
		  System.out.println("感谢使用迷你图书器,再见!");
	  }
  }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值