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("感谢使用迷你图书器,再见!");
}
}
}