`
郑云飞
  • 浏览: 818230 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

书籍管理系统

J# 
阅读更多
package hashMap;

import java.io.Serializable;

@SuppressWarnings("serial")
public class Book implements Serializable
{
	private String id;
	private String name;
	private float price;
	private long num;
	public Book(String id, String name, float price, long num)
	{
		super();
		this.id = id;
		this.name = name;
		this.price = price;
		this.num = num;
	}
	@Override
	public boolean equals(Object o)
	{
		if(o==this)
		{
			return true;
		}
		if(o instanceof Book)
		{
			Book bb=(Book)o;
			return bb.id.equals(this.id)&&bb.name.equals(this.name);
		}
		else 
		{
			return false;
		}
	}
	public String getId()
	{
		return id;
	}
	public String getName()
	{
		return name;
	}
	public float getPrice()
	{
		return price;
	}
	public long getNum()
	{
		return num;
	}
	@Override
	public int hashCode()
	{
		
		return this.id.hashCode()*this.name.hashCode();
	}
	public void setName(String name)
	{
		this.name = name;
	}
	public void setPrice(float price)
	{
		this.price = price;
	}
	public void setNum(long num)
	{
		this.num = num;
	}
	@Override
	public String toString()
	{
		return "编号:"+this.id+"\t书名:"+this.name+"\t单价:"+this.price+"\t数量:"+this.num;
	}
	
	
}
 package hashMap; import java.io.BufferedReader; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Iterator; /** * @content 书籍管理系统 * @author 郑云飞 *@date 2010年10月10日8:44 */ public class BookTest { private static File ff=new File("book.ini"); private static BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); private static DataOutputStream out; private static DataInputStream in; private static ArrayList<Book> al; private static Book book; private static String head="*******************书籍管理系统\n" +"*******************作者:郑云飞\n" +"*******************创作时间:2010年10月10日"; public static void main(String[] args) throws Exception { out=new DataOutputStream(new FileOutputStream(ff,true)); al=new ArrayList<Book>(); System.out.println(head);//输出头文件标题信息 read_Object(); operator();//操作界面 } private static void operator() throws IOException { System.out.println("*******************************************************"); System.out.println("***1 增加书籍\n***2 查询书籍\n***3 删除书籍\n***4 修改书籍\n***5 显示所有书籍\n***6 退出系统"); System.out.println("*******************************************************"); System.out.println("请选择你的操作类型:"); String type=br.readLine(); switch(type.charAt(0)) { case '1':addBook();operator();break; case '2':searchBook();operator();break; case '3':delBook();operator();break; case '4':makeBook();operator();break; case '5':allBook();operator();break; case '6':System.out.println("谢谢使用郑云飞书籍管理系统\n");System.exit(0);break; default:System.out.println("类型选择有误");operator();break; } } /*****************************创建一个方法用于修改书籍信息 * @throws IOException */ private static void makeBook() throws IOException { System.out.println("请输入你要修改的书籍编号:"); String id=br.readLine(); boolean flag=false; int count=0; for(int i=0;i<al.size();i++) { if(id.equals(al.get(i).getId())) { flag=true; count++; } if(flag) { boolean ff=true; while(ff) { System.out.println("****************\n**1 修改书籍名称\n**2 修改书籍数量\n**3 修改书籍单价 \n**4 修改完成 \n***************"); System.out.println("请您选择操作类型:"); String type=br.readLine(); try { switch (type.charAt(0)) { case '1':System.out.println("请输入修改后的书籍的名称:"); String name=br.readLine(); al.get(i).setName(name);break; case '2':System.out.println("请输入修改后的书籍的数量:"); long num=Long.parseLong(br.readLine()); al.get(i).setNum(num);break; case '3': System.out.println("请输入修改后的书籍的单价:"); float price=Float.parseFloat(br.readLine()); al.get(i).setPrice(price);break; case '4':System.out.println("修改信息成功");ff=false;wirte_object();operator();break; default:System.out.println("输入有误");break; } } catch (Exception e) { System.out.println("输入有误"); makeBook(); } } } } if(count==0) { System.out.println("修改书籍信息失败,不存在此信息"); } } /*****************************创建一个方法用于显示所有书籍信息*/ private static void allBook() { Iterator<Book> it=al.iterator(); while(it.hasNext()) { Book book=it.next(); System.out.println(book); } } /*****************************创建一个方法用于查询书籍信息 * @throws IOException */ private static void searchBook() throws IOException { System.out.println("*************请输入查询类型: 1 按编号查询 2 按书名查询"); String serchtype=br.readLine(); switch(serchtype.charAt(0)) { case '1':search("id");break; case '2':search("name");break; default:System.out.println("输入类型有误");searchBook();break; } } /*****************************创建一个方法用于按书名查询书籍信息 * @throws IOException */ private static void search(String type) throws IOException { /**********************遍历容器*********************/ if(type.equals("id")) { System.out.println("请输入书籍编号:"); String id_book=br.readLine(); boolean flag=false; int count=0; for(int k=0;k<al.size();k++) { if(id_book.equals(al.get(k).getId()))//按编号查询到书籍信息 { /****************输出书籍信息***************/ count++; flag=true; } else { flag=false; } if(flag==true) { System.out.println("查询到的书籍信息为:"); System.out.println(al.get(k)); } } if(count==0) { System.out.println("没有找到你要查询的任何书籍信息"); } operator();//页面跳转 } else if(type.equals("name")) { System.out.println("请输入书籍名称:"); String name_book=br.readLine(); int count=0;//查询书籍的个数 for(int j=0;j<al.size();j++) { boolean flag=false; if(name_book.equals(al.get(j).getName())) { count++; flag=true; } else { flag=false; } if(flag==true) { System.out.println("查询到的书籍信息为:"); System.out.println(al.get(j)); } } if(count==0) { System.out.println("没有找到你要查询的任何书籍信息"); } operator();//页面跳转 } } /*****************************创建一个方法用于删除书籍信息 * @throws IOException */ private static void delBook() throws IOException { System.out.println("请输入你要删除的书籍编号:"); String id=br.readLine(); boolean flag=false; int count=0; for(int i=0;i<al.size();i++) { if(id.equals(al.get(i).getId())) { flag=true; count++; al.remove(al.get(i)); } if(flag==true) { wirte_object(); System.out.println("删除成功"); break; } } if(count==0) { System.out.println("删除失败,不存在你要删除的信息"); } } /*****************************创建一个方法用于增加书籍信息 * @throws IOException *********************/ private static void addBook() throws IOException { try { String id = id_isExsit(); System.out.println("请输入书籍名称:"); String name=br.readLine(); System.out.println("请输入书籍单价:"); float price=Float.parseFloat(br.readLine()); System.out.println("请输入书籍数量:"); long num=Long.parseLong(br.readLine()); book=new Book(id,name,price,num); al.add(book); wirte_object(); } catch (Exception e) { System.out.println("输入有误"); addBook(); } } /*******************定义一个方法,用于判断id是否重复*********/ private static String id_isExsit() throws IOException { boolean isexsit=true; String id=""; while(isexsit) { System.out.println("请输入书籍编号:"); id=br.readLine(); for(int i=0;i<al.size();i++) { if(id.equals(al.get(i).getId())) { isexsit=true; System.out.println("此编号已经存在,请重新选择一个编号"); break; } else { isexsit=false; } } } if(isexsit) { return "此编号已经存在"; } else { return id; } } /**************************定义一个方法,用于向文件中写入信息********************************/ private static void wirte_object() { try { out=new DataOutputStream(new FileOutputStream(ff)); out.writeUTF(""+"***********************************"); out.writeUTF(""+"*******************书籍管理系统"); out.flush(); for(int i=0;i<al.size();i++) { out.writeUTF("编号:"+al.get(i).getId()); out.writeUTF("书名:"+al.get(i).getName()); out.writeUTF("单价:"+al.get(i).getPrice()); out.writeUTF("数量:"+al.get(i).getNum()); out.flush(); } } catch (Exception e) { e.printStackTrace(); } } /******************************定义一个方法用于读取文件中的内容******************************/ private static void read_Object() { try { in=new DataInputStream(new FileInputStream(ff)); String id="",name=""; float price=0; long num=0; while(in.available()!=0) { String str=in.readUTF();//接受读取的信息 /******************处理接受的信息,使其能够构成一个书籍对象*************/ if(str.substring(0, 2).equals("编号")) { id=str.substring(3); } else if(str.substring(0, 2).equals("书名")) { name=str.substring(3); } else if(str.substring(0, 2).equals("单价")) { price=Float.parseFloat(str.substring(3)); } else if(str.substring(0, 2).equals("数量")) { num=Long.parseLong(str.substring(3)); } if(!id.equals("")&&!name.equals("")&&price!=0&&num>0) { /******************将读取到得信息存放的容器中****************/ al.add(new Book(id,name,price,num)); /*******************读取完成一个对象后,必须重新初始化一下内容*************/ id=""; name=""; price=num=0; } } } catch (Exception e) { e.printStackTrace(); } } }

 

分享到:
评论
8 楼 Java_大猫 2011-06-08  
我以为SWING呢。。
7 楼 shanfeng1 2011-06-08  
被名字吓着了。
6 楼 changyuxin 2011-06-08  
这个到底是什么呢?
5 楼 hellostory 2011-06-08  
当初期末课程设计也做过类似的东西,现在快期末了吧
4 楼 cs624178950 2011-06-08  
呵呵~~读大学时,一个小项目吧!
3 楼 yn5411 2011-06-08  
越来越没球搞场了~
2 楼 xiaoxiaoniao11 2011-06-08  
很不理解  他要表达什么
1 楼 181054867 2011-06-08  
不知所谓,这样的帖也能上首页!!!

相关推荐

    图书管理系统(纯HTML)

    图书管理系统(纯HTML)图书管理系统(纯HTML)图书管理系统(纯HTML)图书管理系统(纯HTML)图书管理系统(纯HTML)图书管理系统(纯HTML)图书管理系统(纯HTML)图书管理系统(纯HTML)图书管理系统(纯HTML)图书管理系统(纯HTML)...

    图书管理系统需求分析报告

    图书管理系统需求分析报告 图书管理系统需求分析报告是对图书管理系统的需求进行详细的分析和描述,以确保系统的设计和开发能够满足用户的需求。下面是图书管理系统需求分析报告的详细内容: 引言 图书管理系统...

    图书管理系统图书管理系统图书管理系统图书管理系统

    vb图书管理系统 图书管理系统 图书管理系统vb图书管理系统 图书管理系统 图书管理系统vb图书管理系统 图书管理系统 图书管理系统vb图书管理系统 图书管理系统 图书管理系统vb图书管理系统 图书管理系统 图书管理系统...

    Android Studio实现一个校园图书管理系统,满分课设!

    第一个较大的Android项目,基于Android平台的图书管理系统 涉及到的功能有学生注册、工作人员注册、图书馆介绍、图书馆新闻、学生、工作人员登录、 书籍搜索、学生借还书、工作人员添加书籍、新书榜单、借书排行榜、...

    图书管理系统 c# asp .net 图书管理系统 网页

    图书管理系统是一种基于网络的软件应用,它主要用于存储、管理和检索图书馆内的书籍信息,方便读者查询、借阅和归还图书。在这个系统中,通常会包含多个功能模块,如用户管理、书籍管理、借阅管理、预约管理等。本...

    图书管理系统实验报告

    为提高图书馆的运营效率和服务质量,图书管理系统应运而生。本报告旨在详细介绍图书管理系统的功能、设计、可行性分析,以及实验过程中的发现和改进。 图书管理系统实验报告显示,该系统的核心在于建立一个包含图书...

    基于Qt使用C++实现图书管理系统源码.zip

    基于Qt使用C++实现图书管理系统源码 基于Qt使用C++实现图书管理系统源码 基于Qt使用C++实现图书管理系统源码 基于Qt使用C++实现图书管理系统源码 基于Qt使用C++实现图书管理系统源码 基于Qt使用C++实现...

    基于Python的图书管理系统

    基于 Python 的图书管理系统 本文设计了一种基于 Python 的图书管理系统,以满足图书馆对图书管理的需求。该系统具有七个功能模块:书籍信息、书籍库存、删除书籍、添加书籍、修改书籍、修改书籍库存和退出。通过该...

    图书馆图书管理系统

    题目11:图书馆图书管理系统 图书馆管理系统是对书籍的借阅及读者信息进行统一管理的系统. 具体包括读者的借书,还书,书籍的预定;图书管理员的书籍借出处理,书籍归还处理,预定信息处理;系统管理员的系统维护,包括增加...

    UML 图书管理系统 9张图

    "UML 图书管理系统 9张图" UML 图书管理系统 9张图的knowledge points: 1. UML 图书管理系统中的视图(View) * Use Case View(用例视图):关注系统的功能和参与者,包括系统中的所有参与者、用例和用例图。 * ...

    JAVA图书管理系统源码

    那么如果有一套具体的完善的图书管理系统就显得尤为重要,图书馆如果采用人工来管理书籍和借阅管理,由于资料繁多,手工处理的方式不仅工作量大,管理效率低下,也很容易因为疲劳而产生出错,更不方便读者对图书资料...

    简单的图书管理系统实现对图书的增加,删除,修改,查询,列表等

    在IT领域,开发一个图书管理系统是一项常见的任务,它涉及到数据库操作、用户界面设计以及业务逻辑的实现。本系统是一个基于Java编程语言实现的简单图书管理系统,主要功能包括图书的增加、删除、修改、查询和列表...

    图书管理系统 数据库

    图书管理系统是一种用于组织、存储和检索图书信息的软件应用,对于图书馆、书店或者个人图书收藏者来说具有重要的价值。在本项目中,我们关注的是一个使用VC++开发环境和ODBC(Open Database Connectivity)数据库...

    pb图书管理系统

    在这个图书管理系统中,SQL被用来存储、管理和处理图书相关的所有信息,如书籍的作者、出版社、分类、库存数量,以及用户的个人信息、借阅历史等。通过SQL,开发者可以创建表结构,执行查询、插入、更新和删除操作,...

    图书管理系统课程设计.docx

    图书管理系统课程设计 本课程设计的主题是基于 Spring + Spring MVC + MyBatis 的图书管理系统。该系统主要功能包括图书查询、图书管理、图书编辑、读者管理、图书的借阅与归还以及借还日志记录等。系统的设计目标...

    图书管理系统任务书

    在图书管理系统中,书籍信息添加功能允许用户输入书籍的基本信息,如书名、作者、出版社、出版日期等。书籍修改功能允许用户修改已有的书籍信息。书籍删除功能允许用户删除不需要的书籍信息。书籍查询功能允许用户...

    JAVA图书管理系统

    JAVA图书管理系统毕业设计带源码 本设计是为图书馆集成管理系统设计一个界面,图书馆集成管理系统是用MICROSOFT VISUAL Foxpro 6.0 来建库(因特殊原因该用 MICROSOFT Access来建库)。它包括: 中文图书数据库; ...

    软件工程实验图书管理系统

    本次软件工程实验,我选择的是图书管理系统,数据库采用SQL Server软件,界面实现部分我采用的是Visual Studio C#编写,文件中包含数据库文件、界面实现的代码、实验中各部分的数据流图以及架构图,实验报告和各部分...

    图书管理系统可执行文件

    特别地,这个可执行文件包含了书籍管理和用户管理两个核心模块,以及信息查阅功能,这些功能对于一个完整的图书管理系统至关重要。 首先,让我们详细探讨书籍管理部分。书籍管理模块允许管理员录入新书的信息,包括...

    c++图书管理系统

    开发软件的一个目的是针对目前普遍的图书管理系统存在的功能不全,操作复杂,系统要求高等一系列问题,而设想一个具有个性化的图书管理系统。该管理系统与MIS系统相联系,在图书馆内部建成可靠,方便,并且功能齐全...

Global site tag (gtag.js) - Google Analytics