zoukankan      html  css  js  c++  java
  • 图书管理系统

    import java.util.*;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;
    import java.util.Scanner;
    
    
    class Book{
    	
    	//书名集合
    	List<String> nameList =new ArrayList<String>();
    	//书借出状态   1:表示未借出		0:表示已借出
    	List<Integer> stateList = new ArrayList<Integer>();
    	//借出时间
    	List<String> timeList = new ArrayList<String>();
    	//记录借书次数
    	List<Integer> countBook = new ArrayList<Integer>();
    	
    	//输入对象
    	Scanner scan = new Scanner(System.in);
    	
    	//记录所选的功能
    	int number;
    
    	//判断是否退出
    	int systemNum;
    	
    	public void initBook(){
    		nameList.add("世界是数字的");
    		stateList.add(1);
    		timeList.add("");
    		countBook.add(100);
    		
    		nameList.add("罗氏家族语录");
    		stateList.add(0);
    		timeList.add("2016-9-8");
    		countBook.add(150);
    		
    		nameList.add("钢铁是怎样炼成的");
    		stateList.add(1);
    		timeList.add("");
    		countBook.add(10);
    	}
    	
    	//欢迎界面
    	public void helloBook(){
    		
    		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. 排行榜                         ***************");
    		System.out.println("**********     6. 排行榜                 ***************");
    		System.out.println("**********     7. 退    出                ***************");
    		System.out.println("************************************************");
    		System.out.println("请输入你的选择:");
    		number = scan.nextInt();		
    	}
    	
    	//功能区
    	public void funtion(){
    		helloBook();
    		switch (number) {
    		//添加
    		case 1:
    			addBook(scan);
    			logDown(scan);
    			if (systemNum == 0){
    				funtion();
    			}
    			break;
    		//查看书籍
    		case 2:
    			check();
    			logDown(scan);
    			if (systemNum == 0) {
    				funtion();
    			}	
    			break;
    		//删除书籍
    		case 3:
    			removeBook(scan);
    			logDown(scan);
    			if (systemNum == 0) {
    				funtion();
    			}
    			break;
    			
    		case 4:
    			loan(scan);
    			logDown(scan);
    			if (systemNum == 0) {
    				funtion();
    			}
    			break;
    			
    		case 5:
    			returnBook(scan);
    			logDown(scan);
    			if (systemNum == 0) {
    				funtion();
    			}
    			break;
    		case 6:
    			rankList();
    			logDown(scan);
    			if (systemNum == 0) {
    				funtion();
    			}
    			break;
    			
    		case 7:
    			System.out.println("谢谢使用图书管理系统......");
    			break;
    			
    		default :
    			System.out.println("输入有误!!!");
    			funtion();
    			break;
    		}	
    	}
    	
    	//打印方法
    	public void print(List<String> name,List<Integer> state,List<String> time){
    		Iterator runList = name.iterator();
    		System.out.println("序号\t"+"状态\t"+"书名\t\t\t"+"借出时间");
    		int count = 0;
    		String stateStr = null;
    		
    		while(runList.hasNext()){
    			if (stateList.get(count).intValue() == 0) {
    				stateStr = "已借出";
    			}else {
    				stateStr = "可借";
    			}
    			runList.next();
    			System.out.println((count+1) + "\t" + stateStr + "\t<<" + name.get(count) + ">>\t\t" + time.get(count));
    			count++;
    		}
    	}
    	
    	//退出系统
    	public void logDown(Scanner scan){
    		while (true) {
    			System.out.println("输入0退出!!!");
    			systemNum = scan.nextInt();
    			if (systemNum == 0) {
    				break;
    			}else {
    				System.out.println("输入有误!!!");
    			}
    		}
    		
    		
    	}
    	
    	//添加书籍
    	public void addBook(Scanner scan){
    		
    		System.out.println("请输入书名***");
    		nameList.add(scan.next());
    		stateList.add(1);
    		timeList.add("");
    		countBook.add(0);
    	}
    	
    	//查看书籍
    	public void check(){
    		print(nameList, stateList, timeList);
    	}
    	
    	
    	//删除书籍
    	public void removeBook(Scanner scan){
    		System.out.println("请输入要删除的书名...");
    		String str = scan.next();
    		int count = nameList.indexOf(str);
    		if (count >= 0) {
    			if (stateList.get(count).intValue() != 0) {
    				nameList.remove(count);
    				stateList.remove(count);
    				timeList.remove(count);
    				System.out.println("删除/成功...");
    			}else {
    				System.out.println("此书以被借出,不能删除...");
    			}
    		}else {
    			System.out.println("图书馆没有此书,请核对...");
    		}
    	}
    	
    	//借出
    	public void loan(Scanner scan){
    		System.out.println("输入要借的书名...");
    		String str = scan.next();
    		int count = nameList.indexOf(str);
    		System.out.println("*********\t"+count);
    		if (count >= 0) {
    			if(stateList.get(count).intValue() != 0){
    				System.out.println("输入借书时间(年-月-日)...");
    				String timeStr = scan.next();
    				timeList.set(count, timeStr);
    				stateList.set(count, 0);
    				countBook.set(count, countBook.get(count)+1);
    				System.out.println("操作成功...");
    			}else {
    				System.out.println("此书已被借出,抱歉...");
    			}
    		}else {
    			System.out.println("图书馆没有你要借的书,请核对...");
    		}
    	}
    	
    	//归还
    	public void returnBook(Scanner scan){
    		System.out.println("你好,谢谢你来还书...");
    		System.out.println("请输入你所还书籍的名称...");
    		String str = scan.next();
    		int count = nameList.indexOf(str);
    		if (count >= 0) {
    			if (stateList.get(count).intValue() == 0) {
    				System.out.println("请输入还书时间(年-月-日)");
    				String timeStr = scan.next();
    				long mon = money(timeList.get(count), timeStr);
    				System.out.println("操作成功,欢迎下次再来......");
    				System.out.println("你的借书天数为:" + mon + "天   租金为:" + (mon*1) + "元");
    				timeList.set(count, "");
    				stateList.set(count, 1);
    			}else {
    				System.out.println("抱歉,此书从未借出过...");
    			}
    		}else {
    			System.out.println("此书没有从图书馆中借出,请核对...");
    		}
    	}
    	
    	public long money(String date1,String date2){
    		//做时间差
    		//将String转为Date做计算yyyy-mm-dd是格式
    		SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");
    		long charge = 0;
    		try{
    			Date d1 = sd.parse(date1);  
    			Date d2 = sd.parse(date2);
    			//时间也是以毫秒为单位。
    			charge = (d2.getTime() - d1.getTime()) / (1000*24*60*60);
    		}catch(ParseException e){
    			System.out.println(e);
    		}
    		return charge;
    	}
    	
    	
    	//排行榜
    	public void rankList(){
    		Object[] nameArr = nameList.toArray();
    		Object[] countArr = countBook.toArray();
    		
    		int temp = 0;
    		String str = null;
    		for (int i = 0; i < countArr.length-1; i++) {
    			for (int j = 0; j < countArr.length-1-i; j++) {
    				if ((int)countArr[j] < (int)countArr[j+1]) {
    					temp = (int)countArr[j];
    					countArr[j] = (int)countArr[j+1];
    					countArr[j+1] = temp;
    					
    					str = (String)nameArr[j];
    					nameArr[j] = (String)nameArr[j+1];
    					nameArr[j+1] = str;
    				}
    			}
    		}
    		
    		System.out.println("序号\t"+"书名\t\t"+"\t"+"排行榜");
    		for (int i = 0; i < countArr.length; i++) {
    			System.out.println((i+1) + "\t" + nameArr[i] + "\t\t" + countArr[i]);
    		}
    		
    	}
    	
    }
    
    public class demo {
    
    	public static void main(String[] args) {
    		Book book = new Book();
    		//图书馆书籍初始化
    		book.initBook();
    		//图书馆管理系统核心方法
    		book.funtion();
    	}
    }
    

      

  • 相关阅读:
    自动化流程完成打包 IPA 到 上传 AppStore(部分)
    dex2jar jd_jui 反编译apk
    mac 系统常用小工具
    从 Jira page 上获取信息和下载附件
    python zip文件处理 之 zipfile模块
    showDoc 自动创建文档分析
    Unable to install ‘*****’
    自动化流程完成 打包 IPA 到 上传 AppStore 之 iOS IPA签名
    灰度图片和灰度颜色(代码里面只是一些相关的方法替换按需选取几个就好)
    Mac开发一些好的软件
  • 原文地址:https://www.cnblogs.com/12kk/p/6124684.html
Copyright © 2011-2022 走看看