「java做图书管理系统」Java图书管理系统
本篇文章给大家谈谈java做图书管理系统,以及Java图书管理系统对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、如果想用java做一个简单的有界面的图书馆系统,要学会哪些知识
- 2、用JAVA做一个图书馆管理系统,不需要用到数据库
- 3、图书馆管理系统java怎么做
- 4、java做一个简单的图书管理系统,大一新生,用基础做,软件能调试就行
- 5、java的图书管理系统怎么做?
- 6、JAVA版的图书管理系统
如果想用java做一个简单的有界面的图书馆系统,要学会哪些知识
Java
SE
是必须的。
如果这个图书管理系统需要数据库的话,需要JDBC。
另外还要看你做的是窗口界面还是基于浏览器的管理系统。
不过JAVA做基于浏览器的管理系统是强项。做窗口的话用vb、c++都比java强
如果做窗口界面的需要AWT(基础)和SWING(学会awt,这个就好学了)技术,还要有点布局哦。
如果做基于浏览器的,那么就要的多了首先jsp
servlet
另外专业点的话需要现在流行的框架技术SSH(Struts
spring
heibernate
)
建议初学java的话还是先做个窗口的练练手的好,做其中几个功能就可以了。
用JAVA做一个图书馆管理系统,不需要用到数据库
package com.efounder.formbuilder.dat;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import com.efounder.formbuilder.fmt.FmtCol;
/**
* pTitle: /p
* pDescription: /p
* pCopyright: Copyright (c) 2005/p
* pCompany: /p
* @author not attributable
* @version 1.0
*/
public class DataRow extends DataAxis {
protected java.util.Map dataCellList = null;
/**
*
* @return Map
*/
public Map getDataCellList() {
return dataCellList;
}
/**
*
* @param map Map
*/
public void setDataCellList(Map map) {
dataCellList = map;
}
/**
* 数据行上存在的是多个维度,每个维度对应的是一个数据字典
*/
public DataRow() {
}
/**
*
* @param key Object
* @param dataCell DataCell
*/
public void putDataCell(Object key,DataCell dataCell) {
if ( dataCellList == null ) dataCellList = new java.util.HashMap();
dataCellList.put(key,dataCell);
}
/**
*
* @param key Object
* @return DataCell
*/
public DataCell getDataCell(Object key) {
DataCell datacell = null;
if ( dataCellList != null ){
datacell = (DataCell)dataCellList.get(key);
if(datacell == null)
datacell = getDataCellIterator(key);
}
return datacell;
}
/**
* FmtCol FLEX对象以FmtCol对象名称为key 需要遍历取出对应的DataCell add by wujf at 20120220
* @param key Object
* @return DataCell
*/
public DataCell getDataCellIterator(Object key) {
if ( dataCellList != null ){
Iterator entrySetIterator=dataCellList.entrySet().iterator();
while(entrySetIterator.hasNext()){
Entry entry= (Entry)entrySetIterator.next();
if(entry.getKey() instanceof FmtCol) break;
// if(((String)entry.getKey()).startsWith("com.efounder.formbuilder.fmt.FmtCol")) {
DataCell datacell = (DataCell)entry.getValue();
if(datacell.getDataCol() == key){
return datacell;
}
}
}
return null;
}
}
图书馆管理系统java怎么做
先考虑软件环境问题,确定好开发工具和数据库。图书馆管理系统,我的理解就是一个档案管理而已,数据库用sql server;然后最好设计一个数据库模型和功能模型,把你的系统的主要功能和需要的数据库表有一个雏形。你需要用户登录,则至少有一个用户管理的功能,如果更复杂一点,应该有一个权限管理,日志管理。如果还要分角色,则需要角色管理。然后肯定得有一个图书入库,图书借出,图书归还等等功能;然后就是详细设计了,每个功能模块大概需要哪些更详细的功能点;做好前面几部非常关键,不然后面才发现设计跟需求出现大的偏差,后果就非常严重了;后面就是代码编写测试,纯技术问题,一般问题不大。
java做一个简单的图书管理系统,大一新生,用基础做,软件能调试就行
从零开始学Java,本来利用数组只在一个界面就可以实现增删改查功能,学到接口后觉得实现分离效果会更好一些!所以进行了尝试,将管理员和用户中的图书查询,登录,图书出库合并在一起写了一个接口,用户类和管理员类实现这个接口!图书类写了一个抽象类里面都是一些图书的属性,用户类管理员类对图书类进行操作。
具体实现如下:
接口:存在三种方法 用户类和管理员类去实现这个接口,并实现着里面的方法
[java] view plain copy
public interface Person {
public boolean login(String user,String pwd); //登录方法
public void search(); //查询方法
public void reduce(String s,int i); // 图书出库
}
用户类: 实现接口,里面都是用户的方法,在测试类里调用这些方法实现其功能
[java] view plain copy
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class User implements Person{
private final String user = "user";
private final String pwd = "user";
List list = new ArrayList();
public void addBook(Book book){ //增加图书
list.add(book);
}
public boolean login(String user, String pwd) { //登录方法
if(this.user.equals(user) this.pwd.equals(pwd)){
return true;
}
return false;
}
@Override
public void reduce(String s, int i) { //结账
Iterator it = list.iterator();
while(it.hasNext()){
Book b = (Book)it.next();
if(b.getNum().equals(s)){
if(b.getCount() = i){
int m = b.getCount()-i;
b.setCount(m);
System.out.println("你的图书总价为:"+(b.getPrice()*i));
}else
System.out.println("你输入的书本数目超出了当前库存!");
}else{
System.out.println("没找到,你要加入的图书!");
}
}
}
@Override
public void search() { //查询图书当前情况
Iterator it = list.iterator();
while(it.hasNext()){
Book b = (Book)it.next();
System.out.println(b.getNum()+"\t"+b.getName()+"\t"
+b.getAnthor()+"\t"+b.getFromTime()
+"\t"+b.getPrice()+"\t"+b.getCount());
}
}
}
[java] view plain copy
/prepre name="code" class="java"span style="font-size:18px;"管理员类: 实现接口,里面都是管理员的方法,在测试类里调用这些方法实现其功能/spanspan style="font-size:18px;"/span
[java] view plain copy
span style="font-size:18px;"
/span
[java] view plain copy
package com.pv1;
import java.util.*;
public class Admin implements Person {
private final String user = "admin";
private final String pws = "admin";
List list = new ArrayList();
public boolean login(String user, String pwd) { // 登录方法
if (this.user.equals(user) this.pws.equals(pwd)) {
return true;
}
return false;
}
public void addBook(Book book) { // 增加图书
list.add(book);
}
public void search() { // 查询方法
Iterator it = list.iterator();
while (it.hasNext()) {
Book b = (Book) it.next();
System.out.println(b.getNum() + "\t" + b.getName() + "\t"
+ b.getAnthor() + "\t" + b.getFromTime() + "\t"
+ b.getPrice() + "\t" + b.getCount());
}
}
public void reduce(String num, int i) { // 图书出库
for (int j = 0; j list.size(); j++) {
Book b = (Book) list.get(j);
if (b.getNum().equals(num)) {
if (b.getCount() = i) {
int m = b.getCount() - i;
b.setCount(m);
System.out.println("取出成功!现在此书库存为:" + m);
j--;
break;
} else
System.out.println("你输入的书本数目超出了当前库存!");
}
if (j == list.size()) {
System.out.println("没找到,你要加入的图书!");
}
}
}
public void increase(String num, int i) { // 图书入库
for (int j = 0; j list.size(); j++) {
Book b = (Book) list.get(j);
if (b.getNum().equals(num)) {
if (i 0) {
System.out.println("你加入的图书数目不合法!");
} else {
int m = b.getCount() + i;
b.setCount(m);
}
}
if (j == list.size()) {
System.out.println("没找到,你要加入的图书!");
}
}
}
public void delete(String num) { //删除提供编号的图书
int j = 0;
for (j = 0; j list.size(); j++) {
Book b = (Book) list.get(j);
if (b.getNum().equals(num)) {
list.remove(b);
System.out.println("删除成功!");
j--;
break;
}
}
if (j == list.size()) {
System.out.println("未找到你要删除的图书!请确认编号后再删");
}
}
public boolean guanSearch(String num){
for (int j = 0; j list.size(); j++) {
Book b = (Book) list.get(j);
if (b.getNum().equals(num)) {
return true;
}
}
return false;
}
public void guan(String num, String name, String auther, String date,
double price, int count) { // 修改提供编号的图书
int j = 0;
for ( j = 0; j list.size(); j++) {
Book b = (Book) list.get(j);
if (b.getNum().equals(num)) {
b.setAnthor(auther);
b.setCount(count);
b.setFromTime(date);
b.setName(name);
b.setPrice(price);
break;
}
}
}
}
图书类:抽象类,里面全部是属性,方便用户管理员对其操作。
[java] view plain copy
package com.pv1;
import java.util.*;
public class Book {
private String num ;
private String name;
private String anthor;
private String fromTime;
private double price;
private int count;
public String getNum() {
return num;
}
public void setNum(String num) {
this.num = num;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAnthor() {
return anthor;
}
public void setAnthor(String anthor) {
this.anthor = anthor;
}
public String getFromTime() {
return fromTime;
}
public void setFromTime(String fromTime) {
this.fromTime = fromTime;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
}
测试类:
[java] view plain copy
package com.pv1;
import java.util.*;
public class BookTest {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
Book bo = new Book(); //在开始时加入一本图书,所用对象
Book bo1 = null; //循环加入图书建立的对象,开始设成空,防止加入图书时被覆盖
List list = new ArrayList(); //建立一个集合,存储管理员要添加的图书信息的对象
Admin ad = new Admin(); //建立管理员对象,管理员操作时调用管理员类中对象
User us = new User(); //建立用户对象,管理员操作时调用用户类中对象
boolean ad1 = true; //接受进入管理员操作界面的返回值
boolean us1 = true; //接受进入用户操作界面的返回值
bo.setAnthor("刘冰"); //书籍为空,加入一本图书
bo.setCount(20);
bo.setNum("1001");
bo.setName("一本道");
bo.setFromTime("2015-2-50");
bo.setPrice(250.0);
ad.addBook(bo); //通过对象传递在管理员类中加入一本图书
us.addBook(bo);
System.out.print("请输入用户名:"); //用户输入 用户名 密码
String user = input.next();
System.out.print("请输入密码:");//
String pwd = input.next();
ad1 = ad.login(user, pwd); //将 用户名 密码 传入管理员类中进行判断返回Boolean类型接受
us1 = us.login(user, pwd); //将 用户名 密码 传入用户类中进行判断返回Boolean类型接受
if (ad1) { //如果管理员类返回true进入 管理员操作界面
System.out.println("图书编号\t" + "书名\t" + "作者\t" + "出版日期\t" + "\t价格\t"
+ "库存");
ad.search();
while (true) {
bo1 = new Book();
System.out.println("1.查询 2.图书入库 3.图书出库 "
+ "4.新增图书 5.修改 6.删除 7.退出\t请输入您的选择:");
int xuan = input.nextInt();
switch (xuan) {
case 1:
System.out.println("图书编号\t" + "书名\t" + "作者\t" + "出版日期\t"
+ "价格\t" + "库存");
ad.search();
break;
case 2:
System.out.print("请输入你想入库的图书编号:");
String num = input.next();
System.out.print("请输入你想添加本图书的数量:");
int cou = input.nextInt();
ad.increase(num, cou);
break;
case 3:
System.out.print("请输入你想取出的图书编号:");
num = input.next();
System.out.print("请输入你想取出图书的数量:");
cou = input.nextInt();
ad.reduce(num, cou);
break;
java的图书管理系统怎么做?
1 先做需求分析,在网上荡一些文档学习一下,在写分析的过程中,就形成了数据库的表结构,这样实体类也就被抽象出来,表之间的映射关系,实体的关系就明确了,比如图书馆路系统,必须要有管理员表(其中牵扯权限问题),借书的人的表,书籍表,数据分类表等,这几个表就抽象出来了实体(图书管理员,借阅者,书籍,书籍分类)等,在各实体中设置你关注的属性。
2 做数据库准备工作,dao的设计,接口一定要设计全面,要不然返工的非常的多
3 具体的页面的实现就很简单了,需要显示的就调用dao设计的方法就可以了,重在准备,思路一定要清楚明白!
JAVA版的图书管理系统
送你一份代码,结构大致按照你的需求了,自己增加一些小功能,不会的话请教你同学。
分给我,钱就不用了。
#include string.h
#define FORMAT "\n%-8d%-8d%-7d%-8d%-7d%-8d%-10s%-9s%-9s\n"
#include stdio.h
#include conio.h
#include malloc.h
#define NULL 0
#define N 100
#define LEN sizeof(struct book)
int M;
struct book
{int Enum;
int Cnum;
char name[10];
char author[10];
char publishor[30];
struct date
{int year;
int month;
int day;}time;
int price;
struct book*next;
}go[N];
void print()
{printf("---------------------------------------------------------------------------\n");
printf("Enum Cnum year month day price name author publishor\n");
printf("---------------------------------------------------------------------------\n");
}
void load()
{FILE *fp;
int i;
if((fp=fopen("book_list","rb"))==NULL)
{printf("cannot open file\n");
return;
}
i=0;
while((fread(go[i],sizeof(struct book),1,fp))!=NULL)
{i++;}
M=i;
fclose(fp);
}
void save(int h)
{FILE *fp;
int i;
if ((fp=fopen("BOOK_LIS","wb"))==NULL)
{printf("cannot open file\n");
return;
}
for (i=0;ih;i++)
if(fwrite(go[i],sizeof(struct book),1,fp)!=1)
printf("file write error\n");
fclose(fp);
}
void f1()
{FILE *fp;
int i=0;
fp=fopen("book_list","rb");
print();
while((fread(go[i],sizeof(struct book),1,fp))!=NULL)
{printf(FORMAT,go[i].Enum,go[i].Cnum,go[i].time.year,go[i].time.month,go[i].time.day,go[i].price,go[i].name,go[i].author,go[i].publishor);
i++;
}
fclose(fp);
getch();
}
void f2(int h)
{int i;
printf("please input %d book's information\n",h);
printf("Enum Cnum year month day price name author publishor\n");
for(i=0;ih;i++)
{printf("Enum:\n");
scanf("%d",go[i].Enum);
printf("Cnum:\n");
scanf("%d",go[i].Cnum);
printf("please input year month day\n");
scanf("%d%d%d",go[i].time.year,go[i].time.month,go[i].time.day);
printf("price:\n");
scanf("%d",go[i].price);
printf("name:\n");
scanf("%s",go[i].name);
printf("author:\n");
scanf("%s",go[i].author);
printf("publishor:\n");
scanf("%s",go[i].publishor);
}
save(h);
return;
}
void f3()
{int i;
struct book;
char a[20],b[20],c[20];
load();
printf("please input 'name' or 'author':\n");
scanf("%s",a);
if(strcmp(a,"name")==0)
{printf("please input the book's name:\n");
scanf("%s",b);
for(i=0;iM;i++)
if(strcmp(b,go[i].name)==0)
{print();
printf(FORMAT,go[i].Enum,go[i].Cnum,go[i].time.year,go[i].time.month,go[i].time.day,go[i].price,go[i].name,go[i].author,go[i].publishor);
}
}
else
{printf("please input the book's author:\n");
scanf("%s",c);
for(i=0;iM;i++)
if(strcmp(c,go[i].author)==0)
{print();
printf(FORMAT,go[i].Enum,go[i].Cnum,go[i].time.year,go[i].time.month,go[i].time.day,go[i].price,go[i].name,go[i].author,go[i].publishor);
}
}
return;
}
void f4()
{int i,j,k;
struct book t;
load();
for(i=0;iM;i++)
{k=i;
for(j=i+1;jM;j++)
if(go[k].pricego[j].price)k=j;
t=go[i];go[i]=go[k];go[k]=t;
}
print();
for(i=0;iM;i++)
printf(FORMAT,go[i].Enum,go[i].Cnum,go[i].time.year,go[i].time.month,go[i].time.day,go[i].price,go[i].name,go[i].author,go[i].publishor);
}
void f5()
{FILE *fp;
int i,j,M,flag;
char name[10];
if((fp=fopen("book_list","rb"))==NULL)
{printf("cannot open file\n");
return;
}
printf("\norriginal data:\n");
print();
for(i=0;fread(go[i],sizeof(struct book),1,fp)!=0;i++)
printf(FORMAT,go[i].Enum,go[i].Cnum,go[i].time.year,go[i].time.month,go[i].time.day,go[i].price,go[i].name,go[i].author,go[i].publishor);
M=i;
printf("\n input the deleted name:\n");
scanf("%s",name);
for(flag=1,i=0;flagiM;i++)
{if(strcmp(name,go[i].name)==0)
{for(j=i;jM-1;j++)
{go[j].Enum=go[j+1].Enum;
go[j].Enum=go[j+1].Enum;
strcpy(go[j].name,go[j+1].name);
strcpy(go[j].author,go[j+1].author);
strcpy(go[j].publishor,go[j+1].publishor);
go[j].time.year=go[j+1].time.year;
go[j].time.month=go[j+1].time.month;
go[j].time.day=go[j+1].time.day;
go[j].price=go[j+1].price;
}
flag=0;
}
}
if(!flag)
M=M-1;
else
printf("not found!\n");
printf("\nNow,the content of file:\n");
fp=fopen("book_list","wb");
for(i=0;iM;i++)
fwrite(go[i],sizeof(struct book),1,fp);
fclose(fp);
fp=fopen("book_list","wb");
for(i=0;fread(go[i],sizeof(struct book),1,fp)!=0;i++);
printf(FORMAT,go[i].Enum,go[i].Cnum,go[i].time.year,go[i].time.month,go[i].time.day,go[i].price,go[i].name,go[i].author,go[i].publishor);
fclose(fp);
}
main()
{int i,h;
clrscr();
while(1)
{printf ("\n 1 is a project that can output all information.\n");
printf ("\n 2 is a project that can add any book's information.\n");
printf ("\n 3 is a project that can search information.\n");
printf ("\n 4 is a project that can sort.\n");
printf ("\n 5 is a project that can del.\n");
printf ("\n 6 is a project that can leave.\n");
printf("please input number:1 or 2 or 3 or 4 or 5 or 6\n");
scanf("%d",i);
switch (i)
{case 1:f1();break;
case 2:
{printf ("if you want to add book's information,please input a data:h=");
scanf("%d",h);
f2(h);}break;
case 3:
{f3();getch();}break;
case 4:{f4();getch();}break;
case 5:{f5();getch();}break;
case 6:exit (1);
}
clrscr();}
}
关于java做图书管理系统和Java图书管理系统的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。