迷你图书器
来源:互联网 发布:linux man命令怎么用 编辑:程序博客网 时间:2024/05/01 21:08
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("感谢使用迷你图书器,再见!"); } }}
0 0
- 迷你图书器
- 迷你播放器--综述
- 迷你日期查询器MiniDate
- 简单迷你文本编辑啊器
- Java迷你Mp3播放器
- 图书索引创建器
- 图书
- 图书
- 图书
- 图书
- 图书
- 图书
- JavaScript 编写的迷你 Lisp 解释器
- android的MediaPlayer播放器迷你案例
- JavaScript 编写的迷你 Lisp 解释器
- 迷你音乐播放器(一)
- 发烧友自制迷你单片编程器
- 一个迷你音频播放器项目
- 利用递归实现全排列
- Android 学习资料收集
- 【计算机视觉】关于用opencv 设置摄像头读分辨率问题的若干说明
- Java序列化和反序列化
- caffe上手:如何导出caffemodel参数
- 迷你图书器
- a标签连接空标签的方法
- Node.js 01
- Firefox之FirebugXMLHttpRequest各标签含义
- linux文件权限及修改
- 2.3 表达式和运算符
- 关于iphone上用input按钮的处理
- [bzoj4537][hnoi2016]最小公倍数
- LRU缓存淘汰算法分析与实现