JAVA图书馆库存管理系统程序代码(管理系统+用户购买结账系统)

Posted zhangyufeng0126

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA图书馆库存管理系统程序代码(管理系统+用户购买结账系统)相关的知识,希望对你有一定的参考价值。

JAVA图书馆库存管理系统(管理系统+用户购买结账系统)

package Library;

import java.io.Serializable;

public class Book implements Serializable

	private int bookId;
	private String bookName;
	private String auther;
	private String pubDate;
	private double price;
	private int store;
	public int getBookId() 
		return bookId;
	
	public void setBookId(int bookId) 
		this.bookId = bookId;
	
	public String getBookName() 
		return bookName;
	
	public void setBookName(String bookName) 
		this.bookName = bookName;
	
	public String getAuther() 
		return auther;
	
	public void setAuther(String auther) 
		this.auther = auther;
	
	public String getPubDate() 
		return pubDate;
	
	public void setPubDate(String pubDate) 
		this.pubDate = pubDate;
	
	public double getPrice() 
		return price;
	
	public void setPrice(double price) 
		this.price = price;
	
	public int getStore() 
		return store;
	
	public void setStore(int store) 
		this.store = store;
	
	public Book(int bookId, String bookName, String auther, String pubDate,
			double price, int store) 
		super();
		this.bookId = bookId;
		this.bookName = bookName;
		this.auther = auther;
		this.pubDate = pubDate;
		this.price = price;
		this.store = store;
	
	public Book() 
		// TODO Auto-generated constructor stub
	
	

</strong></span><span style="font-size:18px;font-weight: bold;">
</span>

package Library;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
import java.util.List;

public class BookBiz 
	private List<Book> bookList =new ArrayList<Book>();
	
	public BookBiz()
		readFile();
		if(bookList.size()==0)
			Book book=new Book(10001,"鬼吹灯","天下霸唱","2006-1-1",34,3);
			insertBook(book);
			 book=new Book(10002,"魔戒","莫尔斯","2006-3-1",334,300);
			insertBook(book);
			 book=new Book(10003,"哈利波特","罗琳","2006-1-1",34,3);
			insertBook(book);
			 book=new Book(10004,"时间机器人","威尔","2006-3-1",90,30);
			insertBook(book);
			 book=new Book(10005,"宇宙奥秘","霍金","2006-1-1",89,79);
			insertBook(book);
		
	
	
	public void insertBook(Book book)
		bookList.add(book);
		saveFile();
	
	public void deleteBook(int id)
		for(int i=0;i<bookList.size();i++)
			Book book =bookList.get(i);
			if(book.getBookId()==1)
				bookList.remove(i);
				saveFile();
				return;
			
		
	
	public void updateBook(Book book)
		for(int i=0;i<bookList.size();i++)
			Book bk=bookList.get(i);
			if(bk.getBookId()==book.getBookId())
				bk.setAuther(book.getAuther());
				bk.setBookId(book.getBookId());
				bk.setPrice(book.getPrice());
				bk.setStore(book.getStore());
				bk.setPubDate(book.getPubDate());
				saveFile();
				return;
				
			
		
	
	public List<Book> selectBooks()
		
		return bookList;	
	
	public Book selectBook(int id )
		
		Book book=new Book();
		for (int i = 0; i < bookList.size(); i++) 
			book=bookList.get(i);
			if(book.getBookId()==id)
				return book;
			
		
		return null;
	
public Book selectBook2(int id,int store )
		
		Book book=new Book();
		for (int i = 0; i < bookList.size(); i++) 
			book=bookList.get(i);
			if(book.getBookId()==id)
				int st=book.getStore()-store;
				book.setStore(st);
				return book;
			
		
		return null;
	
public void readFile()
	ObjectInputStream ois=null;
	FileInputStream fis=null;
	String name="E:\\\\android\\\\workspace\\\\MyOopBook\\\\src\\\\book.txt";
		try fis=new FileInputStream(name);
		ois=new ObjectInputStream(fis);	
		bookList=(List<Book>) ois.readObject();		
catch (FileNotFoundException e) 
	// TODO Auto-generated catch block
	e.printStackTrace();
 catch (IOException e) 
	// TODO Auto-generated catch block
	e.printStackTrace();
 catch (ClassNotFoundException e) 
	// TODO Auto-generated catch block
	e.printStackTrace();

finally
	try 
		if(ois!=null)
			ois.close();
		
	 catch (IOException e) 
		// TODO: handle exception
		e.printStackTrace();
	


public void saveFile()
	ObjectOutputStream oos=null;
	FileOutputStream fos=null;
	String name="E:\\\\Android\\\\workspace\\\\MyOopBook\\\\src\\\\book.txt";
	try fos=new FileOutputStream(name);
	oos=new ObjectOutputStream(fos);
	oos.writeObject(bookList);
	 catch (FileNotFoundException e) 
		// TODO Auto-generated catch block
		e.printStackTrace();
	 catch (IOException e) 
		// TODO Auto-generated catch block
		e.printStackTrace();
	finally
		try 
			if(oos!=null)
				oos.close();
			
		 catch (IOException e) 
			// TODO: handle exception
			e.printStackTrace();
		
	






package Library;
import java.util.List;
import java.util.Scanner;



public class BookTest 

	/**
	 * @param args
	 */
	private BookBiz bookbiz=new BookBiz();
	public static void main(String[] args) 
		// TODO Auto-generated method stub
       Scanner input=new Scanner(System.in);
       System.out.println("欢迎使用图书书店");
       System.out.println("请输入用户名");
       String userName=input.next();
       System.out.println("请输入密码");
		String userPwd=input.next();
		
		BookTest bt=new BookTest();
		if(userName.equals("admin")&&userPwd.equals("123"))
			System.out.println("登陆成功");
			bt.showMainView();
			bt.adminOption();
		else if(userName.equals("user")&&userPwd.equals("123"))
			System.out.println("登陆成功");
			bt.showuser();
			bt.adminOptionuser();
		
		else
			System.out.println("账号密码有错误");
		
		
	
public void showMainView()
	System.out.println("============欢迎登陆库存管理系统===========");
	System.out.println("书号\\t\\t书名\\t\\t作者\\t\\t日期\\t\\t价格\\t\\t数量\\t\\t");
	List<Book> list=bookbiz.selectBooks();
	for (Book book : list) 
		System.out.print(book.getBookId()+"\\t\\t");
		System.out.print(book.getBookName()+"\\t\\t");
		System.out.print(book.getAuther()+"\\t\\t");
		System.out.print(book.getPubDate()+"\\t");
		System.out.print(book.getPrice()+"\\t\\t");
		System.out.print(book.getStore()+"\\n");
	
	System.out.println("请选择进行的操作:1.图书入库2.图书出库3.查询全部图书4.新增图书5.退出");
	
	

public void showuser()
	System.out.println("************欢迎光临图书系统*************");
	System.out.println("书号\\t\\t书名\\t\\t作者\\t\\t日期\\t\\t价格\\t\\t数量\\t\\t");
	List<Book> list=bookbiz.selectBooks();
	for (Book book : list) 
		System.out.print(book.getBookId()+"\\t\\t");
		System.out.print(book.getBookName()+"\\t\\t");
		System.out.print(book.getAuther()+"\\t\\t");
		System.out.print(book.getPubDate()+"\\t");
		System.out.print(book.getPrice()+"\\t\\t");
		System.out.print(book.getStore()+"\\n");
	
	System.out.println("请选择进行的操作:1.查询全部图书2结账3.退出");
	
	

public void adminOptionuser()
	 Scanner input=new Scanner(System.in);
	 int  which=input.nextInt();
	 switch(which)
	 case 1:  showuser(); 
	 adminOptionuser();               //1.查询全部图书
		 break;
	 case 2:  jiezhang();
	 adminOptionuser();                //2结账
		 break;
		default: 
		    System.out.println("谢谢使用");//3退出
			break;
		
	 
	 

public void adminOption()
	 Scanner input=new Scanner(System.in);
	 int  which=input.nextInt();
	 switch(which)
	 case 1:  tushuruku();      //1.图书入库
		 break;
	 case 2:  tushuchuku();      //2.图书出库
		 break;
	 case 3:          //3查询全部图书
	  showMainView();
		 adminOption();
		 break;
	 case 4:    insertbook();      //4.新增图书
		 break;
		 
		default: 
		    System.out.println("谢谢使用");//5退出
			break;
		
	 
	 
public void tushuruku()
	
	System.out.println("请输入图书信息");
	System.out.println("请输入图书ID:");
	 Scanner input=new Scanner(System.in);
	 int  id=input.nextInt();
	 Book book=bookbiz.selectBook(id);
	 System.out.println("请输入入库库存数量:");
	 int  store=input.nextInt();
	store+=book.getStore();
	 book.setStore(store);
	 bookbiz.saveFile();
	// bookbiz.readFile(); 一开始用第一次用读
	 showMainView();
	 adminOption();

public void tushuchuku()
	
	System.out.println("请输入图书信息");
	System.out.println("请输入图书ID:");
	 Scanner input=new Scanner(System.in);
	 int  id=input.nextInt();
	 System.out.println("请输入出库库存数量:");
	 int  store=input.nextInt();
	 bookbiz.selectBook2(id,store);
	 bookbiz.saveFile();
	// bookbiz.readFile(); 一开始用第一次用读
	 showMainView();
	 adminOption();


private void insertbook() 
	// TODO Auto-generated method stub
	Scanner a=new Scanner(System.in);
	System.out.println("请输入增加图书信息");
	System.out.println("请输入图书ID");
	int m=a.nextInt();
	System.out.println("请输入书名");
	String e=a.next();
	System.out.println("请输入作者");
	String t=a.next();
	System.out.println("请输入日期");
	String y=a.next();
	System.out.println("请输入价格");
	double p=a.nextInt();
	System.out.println("请输入库存");
	int u=a.nextInt();
	Book c=new Book(m,e,t,y,p,u);
	bookbiz.insertBook(c);
	 showMainView();
	 adminOption();
	


public void jiezhang()
	System.out.println("请输入欲购买的图书信息:");
	System.out.println("请输入图书Id:");
	 Scanner input=new Scanner(System.in);
	 int  id=input.nextInt();
	System.out.println("请输入购买数量");
	 int  store=input.nextInt();
	 bookbiz.selectBook2(id,store);
	 bookbiz.saveFile();
	 Book book=bookbiz.selectBook(id);
	 System.out.println(book.getBookName()+":"+book.getPrice());
	System.out.println("数量:"+store);
	System.out.println("小计:"+(store*book.getPrice()));
	showuser();







用户购买系统





图书馆用户购买系统优化

package biz;
import java.io.Serializable;
public class Book implements Serializable 
	private int bookId;
	private String bookName;
	private String author;
	private String pubDate;
	private double price;
	private int   store;
	public Book()
	public Book(int bookId, String bookName, String author, String pubDate,
			double price, int store) 
		super();
		this.bookId = bookId;
		this.bookName = bookName;
		this.author = author;
		this.pubDate = pubDate;
		this.price = price;
		this.store = store;
	
	
	
	public int getBookId() 
		return bookId;
	
	public void setBookId(int bookId) 
		this.bookId = bookId;
	
	public String getBookName() 
		return bookName;
	
	public void setBookName(String bookName) 
		this.bookName = bookName;
	
	public String getAuthor() 
		return author;
	
	public void setAuthor(String author) 
		this.author = author;
	
	public String getPubDate() 
		return pubDate;
	
	public void setPubDate(String pubDate) 
		this.pubDate = pubDate;
	
	public double getPrice() 
		return price;
	
	public void setPrice(double price) 
		this.price = price;
	
	public int getStore() 
		return store;
	
	public void setStore(int store) 
		this.store = store;
	
	



package biz;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
import java.util.List;


public class BookBiz 
   private List<Book> bookList = new ArrayList<Book>();
   public BookBiz()
	   readFile();
	   if(bookList.size()==0)
		   Book book = new Book(10001,"鬼吹灯","天下霸唱","2006-01-01",87,100);
		   insertBook(book);
		   book = new Book(10002,"魔戒","莫尔斯","2006-01-01",22,55);
		   insertBook(book);
		   book = new Book(10003,"哈利波特","罗琳","2008-01-01",45,25);
		   insertBook(book);
		   book = new Book(10004,"时间机器","威尔","2009-01-01",66,64);
		   insertBook(book);
		   book = new Book(10005,"宇宙奥秘","霍金","2010-01-01",76,67);
		   insertBook(book);
	   
   
   public void insertBook(Book book)
	   bookList.add(book);
	   saveFile();
   
   public void deleteBook(int id)
	   for(int i= 0 ; i<bookList.size(); i++)
		   Book book = bookList.get(i);
		   if(book.getBookId() == id)
			   bookList.remove(i);
			   saveFile();
			   return;
		   
	   
   
   public void updateBook(Book book)
	   for(int i=0 ; i < bookList.size();i++)
		    Book bk = bookList.get(i);
		    if(bk.getBookId() == book.getBookId())
		    	bk.setAuthor(book.getAuthor());
		    	bk.setBookName(book.getBookName());
		    	bk.setPrice(book.getPrice());
		    	bk.setStore(book.getStore());
		    	bk.setPubDate(book.getPubDate());
		    	saveFile();
		    	return;
		    
	   
   
   public List<Book> selectBooks()
	   return bookList;
   
   public Book selectBook(int id)
	   Book book = new Book();
	   for(int i =0;i<bookList.size();i++)
		   book = bookList.get(i);
		   if(book.getBookId() == id)
			   return book;
		   
	   
	   return null;
   
   public void readFile()
	   ObjectInputStream ois = null;
	   FileInputStream   fis = null;
	   String name = "E:\\\\Android\\\\workspace\\\\MyOopBookTeacher\\\\src\\\\biz\\\\book.txt";
       try 
		  fis = new FileInputStream(name);
		  ois = new ObjectInputStream(fis);
		  bookList = (List<Book>) ois.readObject();
		 catch (FileNotFoundException e) 
			// TODO Auto-generated catch block
			e.printStackTrace();
		 catch (IOException e) 
			// TODO Auto-generated catch block
			e.printStackTrace();
		 catch (ClassNotFoundException e) 
			// TODO Auto-generated catch block
			e.printStackTrace();
		 finally
			try 
				if(ois!=null)
					ois.close();
				
			 catch (IOException e) 
				// TODO Auto-generated catch block
				e.printStackTrace();
			
		
   
   public void saveFile()
	     ObjectOutputStream oos = null;
	     FileOutputStream  fos  = null;
	     String name = "E:\\\\Android\\\\workspace\\\\MyOopBookTeacher\\\\src\\\\biz\\\\book.txt";
	     try 
			fos = new FileOutputStream(name);
			oos = new ObjectOutputStream(fos);
			oos.writeObject(bookList);
			System.out.println("数据保存成功");
		 catch (FileNotFoundException e) 
			// TODO Auto-generated catch block
			e.printStackTrace();
		 catch (IOException e) 
			// TODO Auto-generated catch block
			e.printStackTrace();
		 finally
			try 
				if(oos!=null)
					oos.close();
				
			 catch (IOException e) 
				// TODO Auto-generated catch block
				e.printStackTrace();
			
		
   
   
   
   
   
   
   
   


package biz;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;



public class BookTest 
	private BookBiz bookbiz = new BookBiz();
	public static void main(String[] args) 
		Scanner input = new Scanner(System.in);
		System.out.println("欢迎使用图书书店");
		System.out.println("请输入用户名:");
		String userName = input.next();
		System.out.println("请输入密码:");
		String userPwd  = input.next();
		BookTest bt = new BookTest();
		if(userName.equals("admin")&&userPwd.equals("123"))
			System.out.println("登陆成功");
			bt.showMainView("admin");
			bt.adminOption();
		else if(userName.equals("user")&&userPwd.equals("user"))
			System.out.println("登陆成功");
			bt.showMainView("user");
			bt.userOption();
		
		else
			System.out.println("用户或密码");
		
	
	public void showMainView(String arg)
		System.out.println("==================欢迎登录库存管理系统===================");
		System.out.println("书号\\t\\t书名\\t\\t作者\\t\\t发布日期\\t\\t价格\\t\\t库存");
		List<Book> list = bookbiz.selectBooks();
		for (Book book : list) 
			System.out.print(book.getBookId()+"\\t\\t");
			System.out.print(book.getBookName()+"\\t\\t");
			System.out.print(book.getAuthor()+"\\t\\t");
			System.out.print(book.getPubDate()+"\\t\\t");
			System.out.print(book.getPrice()+"\\t\\t");
			System.out.print(book.getStore()+"\\n");
		
		if(arg.equals("admin"))
			System.out.println("请选择进行的操作:1.图书入库 2.图书出库 " +
			"3.查询全部图书 4.新增图书 5.退出");
		else
			System.out.println("请选择进行的操作:1.查询 2.结账 3.退出");
		
		
	
	public void adminOption()
		Scanner input = new Scanner(System.in);
		int which = input.nextInt();
		switch(which)
		     case  1: //入库
		    	 inStore();
		    	 break;
		     case  2: //出库
		    	 outStore();
		    	 break;
		     case  3: //查询全部
		    	 showMainView("admin");
		    	 break;
		     case  4: //新增图书
		    	 addBook();
		    	 break;
		     default: //退出
		    	 bookbiz.saveFile();
		    	 break;
		
	
	public void inStore()
		Scanner input = new Scanner(System.in);
		System.out.println("请输入图书信息");
		System.out.println("请输入图书ID:");
		int bookId = input.nextInt();
		Book  book = bookbiz.selectBook(bookId);
		System.out.println("请输入入库的数量");
		int qty = input.nextInt();
		qty += book.getStore();
		book.setStore(qty);
		bookbiz.saveFile();
		showMainView("admin");
		adminOption();
	
	public void outStore()
		Scanner input = new Scanner(System.in);
		System.out.println("请输入图书信息");
		System.out.println("请输入图书ID:");
		int bookId = input.nextInt();
		Book  book = bookbiz.selectBook(bookId);
		System.out.println("请输入出库的数量");
		int qty = input.nextInt();
		book.setStore(book.getStore()-qty);
		bookbiz.saveFile();
		showMainView("admin");
		adminOption();
	
	public void addBook()
		Scanner input = new Scanner(System.in);
		System.out.println("请输入图书信息");
		System.out.println("请输入图书ID:");
		int bookId = input.nextInt();
		System.out.println("请输入书名");
		String bookName = input.next();
		System.out.println("请输入作者");
		String author = input.next();
		System.out.println("请输入出版时间");
		String pubDate = input.next();
		System.out.println("请输入价格");
		double price = input.nextDouble();
		System.out.println("请输入数量");
		int qty = input.nextInt();
		Book book = new Book();
		book.setBookId(bookId);
		book.setBookName(bookName);
		book.setAuthor(author);
		book.setPubDate(pubDate);
		book.setPrice(price);
		book.setStore(qty);
		bookbiz.insertBook(book);
		showMainView("admin");
		adminOption();
	
	
	public void userOption()
		Scanner input = new Scanner(System.in);
		int which = input.nextInt();
		switch(which)
		case 1:
			break;
		case 2:
			pay();
			break;
		default:
			break;
		
	
	public void pay()
		Scanner input = new Scanner(System.in);
		boolean flag = true;
		double amt = 0;
		Map map = new HashMap();
		do
			System.out.println("请输入要购买的图书编号:");
			int bookId = input.nextInt();
			Book book = bookbiz.selectBook(bookId);
			System.out.println("请输入购买数量:");
			int count = input.nextInt();
			if(book.getStore()<count)
				System.out.println("购买数量过大,请重新输入");
				continue;
			
			if(map.containsKey(book))
				int temp = Integer.parseInt(map.get(book).toString());
				map.put(book, count+temp);
			else
				map.put(book, count);
			
			
			System.out.println(book.getBookName()+":"+book.getPrice());
			System.out.println(count);
			System.out.println("小计:"+(count*book.getPrice()));
			amt += count*book.getPrice();
			System.out.println("是否继续购买(y/n)");
			String str = input.next();
			if(!str.equals("y"))
				flag = false;
			
		while(flag);
		
		System.out.println("总计:"+amt);
		System.out.println("支付:");
		double pay = input.nextDouble();
		Set set = map.keySet();
		Iterator it = set.iterator();
		
		while(it.hasNext())
			System.out.println("AAAAA");
			Book book = (Book) it.next();
			book = bookbiz.selectBook(book.getBookId());
			int count = Integer.parseInt(map.get(book).toString());
			book.setStore(book.getStore()-count);
			bookbiz.saveFile();
		
		System.out.println("找零:"+(pay-amt));
		showMainView("user");
		userOption();
		
		
	








作者:冲天之峰    20160619


以上是关于JAVA图书馆库存管理系统程序代码(管理系统+用户购买结账系统)的主要内容,如果未能解决你的问题,请参考以下文章

用java写出开发基于控制台的购书系统(新手卡在这里了,求大神帮忙)

基于jsp+ssm的图书借阅库存管理系统

java案例实例 商品库存管理系统

程序逸的Java项目之旅-图书管理系统之验证码和用户数据的后台获取

c语言程序设计图书馆源代码

Java语言------图书馆管理系统(入门简略版)