当前位置:首页 > 软件开放 > 正文内容

java简单图书管理系统项目(java图书管理系统详细设计)

软件开放2年前 (2023-04-10)1420

本篇文章给大家谈谈java简单图书管理系统项目,以及java图书管理系统详细设计对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

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.borrowBooks方法中,将System.out.println("你要借吗?"); 改为:

System.out.println("你要借吗?输入1表示借,其他数字表示不借。");

保证输入的时候输入的数字,否则会报出异常。

2.borrowBooks方法中,将self[score] = all[9]; 改为:self[score] = all[i];

如果是all[9],那么就始终是最后一本书籍信息了。

3.have方法中,你是想将所借的书籍信息都打印出来。修改的比较多,下面注释代码是原来的。

void have(Books[] self) {

// for (int i = 0; i 2; i++) {

// self[i].showBookInfo();

// }

for (int i = 0; i 3; i++) {

if(self[i]!=null)

self[i].showBookInfo();

}

}

****************** 附上所有代码:*************************

import java.util.Scanner;

public class TestBook {

public static void main(String[] args) {

Books all[] = new Books[10];

Books self[] = new Books[3];

all[0] = new Books("java", 1, "12345", "tom", 34.0f, "人民出版社");

all[1] = new Books("c", 2, "12346", "tnn", 31.0f, "人民出版社");

all[2] = new Books("c++", 3, "12445", "mm", 35.0f, "人民出版社");

all[3] = new Books("c#", 4, "12365", "tt", 38.0f, "人民出版社");

all[4] = new Books("j2se", 5, "13345", "tosm", 31.1f, "人民出版社");

all[5] = new Books("j2ee", 6, "18345", "ttm", 32.0f, "人民出版社");

all[6] = new Books("jsp", 7, "12335", "cc", 33.0f, "人民出版社");

all[7] = new Books("net", 8, "12341", "bb", 36.0f, "人民出版社");

all[8] = new Books("ip", 9, "12343", "aa", 37.0f, "人民出版社");

all[9] = new Books("tcp", 10, "22345", "jj", 39.0f, "人民出版社");

Readers r = new Readers("xiaoming", 101, "1", 3);

r.searchAllBooks(all);

r.borrowBooks(all, self);

r.have(self);

r.give(all, self);

}

}

class Readers {

Scanner scan = new Scanner(System.in);

String names;

int nums;

String classes;

int grade;

int score = 0;

// Books self[]=new Books[3];

Readers(String n, int u, String c, int g) {

names = n;

nums = u;

classes = c;

grade = g;

}

void searchAllBooks(Books[] all) {// 查书

for (int i = 0; i 10; i++)

all[i].showBookInfo();

// self[score]=all[0];

}

void give(Books[] all, Books[] self) {// 还书

System.out.println("请输入您要还的书的书号");

int n = scan.nextInt();

for (int i = 0; i 10; i++) {

if (n == all[i].num) {

for (int j = 0; j 3; j++) {

if (self[j] == all[i]) {

self[j] = null;

System.out.println("还书成功");

}

}

}

}

}

void have(Books[] self) {

// for (int i = 0; i 2; i++) {

// self[i].showBookInfo();

// }

for (int i = 0; i 3; i++) {

if(self[i]!=null)

self[i].showBookInfo();

}

}

void giveMoney() {

}

void borrowBooks(Books[] all, Books[] self) {

System.out.println("请输入您要查找的书名:");

String n = scan.next();

int i;

for (i = 0; i 10; i++) {

if (n.equals(all[i].name)) {

all[i].showBookInfo();

break;

}

}

//System.out.println("你要借吗?");

System.out.println("你要借吗?输入1表示借,其他数字表示不借。");

int j;

j = scan.nextInt();

if (j == 1) {

System.out.println("借阅成功");

//self[score] = all[9];

self[score] = all[i];

score += 1;

}

if (score 4) {

System.out.println("您还可以借阅" + (3 - score) + "本");

} else {

System.out.println("对不起,一个人只能借3本");

}

}

}

class Books {

String name;

int num;

String ISBN;

String writer;

float price;

String publisher;

Books(String n, int u, String i, String w, float p, String l) {

name = n;

num = u;

ISBN = i;

writer = w;

price = p;

publisher = l;

}

void showBookInfo() {

System.out.println("**************************");

System.out.println("书名:" + name);

System.out.println("索书号:" + num);

System.out.println("ISBN号:" + ISBN);

System.out.println("价格:" + price);

System.out.println("出版社:" + publisher);

System.out.println("**************************");

}

}

----------------------------------------------------

用java编写一个,图书管理系统

可以使用Baiduhi告诉我你的题目

有空能搞定你无法解决的题目

如果你有类似的要求也能联系我

ES:\\F3BE205E98C61E3942B3CDFC44D10E6F

交易提醒:预付定金有风险

交易提醒:用户名中包含联系方式勿轻信

利用java制作一个图书管理系统需要哪些步骤?

作为一个用户软件,可以按照软件工程的要求来做。

一、可行性研究报告

二、项目开发计划

三、需求规格说明书

四、概要设计说明书

五、详细设计说明书

六、用户操作手册

七、测试计划

八、测试分析报告

九、开发进度月报

十、项目开发总结报告

十一、程序维护手册

十二、软件问题报告

十三、软件修改报告

不过估计你这个也就是个课程设计,所以不需要那么麻烦。设计好数据库,编好界面,能运行就行。

用java编写一个简单的图书管理系统。 要求:实现浏览,借书,还书,查询,退出等功能(每次最多能借

您好,这个功能要实现并不难,如果您还是学生,应该用的技术都是基础技术来实现对吧。如果是,那么给你一些提示,所使用的技术如,数组或集合,对象,相关变量属性,循环,swatch选择 循环等等。

思路:浏览图示其实就是读取图书的列表或者读取某一本图书的详情。

借书:从图书列表中将对应的书籍数量减掉一定数量。比如 num--;

还书:同借书一样,相加即可;

查询,就是根据书名或者相关信息来查询书库中的图书,一般从数据库获取到这些数据,如果更简单,那就是从集合里面查询。

退出,那就更简单了,exit。

我不清楚你是要使用JavaWeb来实现还是使用C/S架构来实现,还是使用控制台来实现。但是大概的思路都一致。但是复杂度不一样,看你做到什么样的效果和水平。

java简单图书管理系统项目的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java图书管理系统详细设计、java简单图书管理系统项目的信息别忘了在本站进行查找喔。

扫描二维码推送至手机访问。

版权声明:本文由飞速云SEO网络优化推广发布,如需转载请注明出处。

本文链接:http://chlfg.com/post/16191.html

分享给朋友:

“java简单图书管理系统项目(java图书管理系统详细设计)” 的相关文章

软件开发培训学校哪家比较好啊(软件开发培训有哪些学校)

软件开发培训学校哪家比较好啊(软件开发培训有哪些学校)

今天给各位分享软件开发培训学校哪家比较好啊的知识,其中也会对软件开发培训有哪些学校进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、软件开发培训班哪家好 2、软件开发培训班好的有哪些? 3、软件开发培训学校哪个好? 软件开发培训班哪家好 目前已知几大...

深圳软件开发公司(深圳软件开发公司招聘)

深圳软件开发公司(深圳软件开发公司招聘)

今天给各位分享深圳软件开发公司的知识,其中也会对深圳软件开发公司招聘进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、深圳app开发公司有哪些 2、软件开发公司都有哪些 3、app软件开发公司电话 4、深圳提供IT软件开发外包和项目外包的服务公司排...

第三方交易平台有哪些主要责任和义务(关于第三方交易平台的管理规定)

第三方交易平台有哪些主要责任和义务(关于第三方交易平台的管理规定)

本篇文章给大家谈谈第三方交易平台有哪些主要责任和义务,以及关于第三方交易平台的管理规定对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、第三方在线支付平台有哪些 2、第三方责任有哪些 3、第三方支付平台的主要业务分别是做什么的? 4、目前我国的第三方支付平台有哪...

手机QQ浏览器网页保存的密码怎么查看(如何查看手机浏览器保存密码)

手机QQ浏览器网页保存的密码怎么查看(如何查看手机浏览器保存密码)

本篇文章给大家谈谈手机QQ浏览器网页保存的密码怎么查看,以及如何查看手机浏览器保存密码对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、qq浏览器密码保存 2、在手机QQ浏览器里登录时保存的登录密码能查看一下是什么吗?怎么看? 3、我以前在手机上登录QQ浏览器的时候...

源码商城交易平台源码支付宝(源码交易网)

源码商城交易平台源码支付宝(源码交易网)

本篇文章给大家谈谈源码商城交易平台源码支付宝,以及源码交易网对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、找一个网上商城源码 2、商城怎么链接上支付宝支付! 3、支付宝的订单系统怎么弄啊PHP源码 4、支付宝支付页面iapp源码求谁有 5、支付宝源代码?...

vue优点与缺点(请简述vue优势有哪些)

vue优点与缺点(请简述vue优势有哪些)

本篇文章给大家谈谈vue优点与缺点,以及请简述vue优势有哪些对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、jsp和vue开发的优缺点 2、react和vue的区别及优缺点 3、Web前端主流框架—Vue的优缺点分析 jsp和vue开发的优缺点 1、vue优点...