当前位置: 首页 > news >正文

网站建设电脑端手机端营销型企业网站诊断

网站建设电脑端手机端,营销型企业网站诊断,游戏网站后台建设,四川成都营销型网站一、前言: 今天我们来分享一下一个简单的图书管理系统 我们知道图书馆系统可以有两个系统,一个是管理员管理图书的系统,管理员可以(1)查找某一本图书情况、(2)增加新的图书、(3&…

一、前言:

今天我们来分享一下一个简单的图书管理系统
我们知道图书馆系统可以有两个系统,一个是管理员管理图书的系统,管理员可以(1)查找某一本图书情况、(2)增加新的图书、(3)删除旧的图书、(4)查看图书馆有哪些图书、(5)图书类别管理
(6)读者管理 (7)借阅管理
另一个就是作为学生的我们去借书的系统,我们去图书馆可以(1)查找某一本图书的情况、(2)借阅某一本书、(3)归还某一本书、(4)退出管理系统。

二、部分代码实现

1、代码的类、抽象类及接口

(1)book
这个包就是字面意识用来存放书的信息。

(2)operation
这个包存放的是一些操作的实现,如查找图书,退出系统等等(容我慢慢道来)。

(3)user
这个包是用于区分两种不同使用者,而去实现相应的操作。

(4)Main
将以上所说的东西结合起来,从而实现这个图书馆管理系统。

2、代码的具体实现
(1)book
Book类:用于设置一本书的书名、作者、价格、类型、是否被借出的情况

package book;public class Book {private String name;//书名private String author;//作者private int price;//价格private String type;//类型private boolean isBorrowed;//是否被借出// Book构造方法public Book(String name, String author, int price, String type) {this.name = name;this.author = author;this.price = price;this.type = type;}
//个个变量的get和set方法public String getName() {return name;}public void setName(String name) {this.name = name;}public String getAuthor() {return author;}public void setAuthor(String author) {this.author = author;}public int getPrice() {return price;}public void setPrice(int price) {this.price = price;}public String getType() {return type;}public void setType(String type) {this.type = type;}public boolean isBorrowed() {return isBorrowed;}public void setBorrowed(boolean borrowed) {isBorrowed = borrowed;}//重写toString方法@Overridepublic String toString() {return "Book{" +"name='" + name + '\'' +", author='" + author + '\'' +", price=" + price +", type='" + type + '\'' +((isBorrowed==true)? "已借出":"未借出")+ '}';}
}

BookList类:一个书架,初始存放三本书,可以添加,删除,查找。

package book;public class BookList {private Book[] books =new Book[10];//创建一个Book类的书组,用来放书private int usedSize;//记录book有多少本书//BookList的构造方法,存放所以书的内容public BookList(){books[0] = new Book("三国演义","罗贯中",19,"小说");books[1] = new Book("西游记","吴承恩",29,"小说");books[2] = new Book("红楼梦","曹雪芹",9,"小说");usedSize = 3;}/**** @param pos pos位置一定是合法的* @return 一本书*/public Book getBook(int pos) {return books[pos];}/**** @param pos pos位置一定是合法的* @param book 你要放的书*/public void setBooks(int pos,Book book) {books[pos] = book;}/*** 实时获取当前的 书的个数* @return*/public int getUsedSize() {return usedSize;}/*** 实时的修改当前书架上的书的个数*/public void setUsedSize(int size) {usedSize = size;}}

(2)operation
IOperation接口:给operation通过work抽象方法

package operation;import book.BookList;//因为每个操作类都要实现work抽象方法,所以创建一个接口,提供work方法
public interface IOperation {void work(BookList bookList) ;
}
AddOperation类:进行添加操作 package operation;import book.BookList;
import book.Book;import java.util.Scanner;public class AddOperation implements IOperation{//重写work方法,添加书籍的信息@Overridepublic void work(BookList bookList) {System.out.println("新增图书!");Scanner scanner = new Scanner(System.in);System.out.println("请输入图书的名字:");String name = scanner.nextLine();System.out.println("请输入图书的作者:");String author = scanner.nextLine();System.out.println("请输入图书的类型:");String type = scanner.nextLine();System.out.println("请输入图书的价格:");int price = scanner.nextInt();//new一个Book的对象,保持新添加书籍的信息Book book = new Book(name,author,price,type);//重新设置书架书的数量的值int currentSize = bookList.getUsedSize();bookList.setBooks(currentSize,book);bookList.setUsedSize(currentSize+1);System.out.println("新增书籍成功!");}
}BorrowOperation类:进行借书操作package operation;import book.Book;
import book.BookList;import java.util.Scanner;public class BorrowOperation implements IOperation{//重写work方法@Overridepublic void work(BookList bookList) {Scanner sc=new Scanner(System.in);//给借书的人查看所有图书的信息,方便借阅System.out.println("我们图书馆有:");for (int i=0;i< bookList.getUsedSize();i++){Book book=bookList.getBook(i);System.out.println(book);}System.out.println("请问你要借的图书是:");String name = sc.nextLine();//判断书籍是否可以借阅for (int i=0;i< bookList.getUsedSize();i++){Book book=bookList.getBook(i);if (book.getName().equals(name)){System.out.println("找到图书!");if(!book.isBorrowed()){System.out.println("该书未被借出,借书成功!");book.setBorrowed(true);System.out.println(book);break;}}if (i== bookList.getUsedSize()-1)System.out.println("该书已被借出,借书失败!");}}
}

DelOperation类:进行删除操作

package operation;import book.Book;
import book.BookList;import java.util.Scanner;public class DelOperation implements IOperation{
//重写work方法@Overridepublic void work(BookList bookList) {System.out.println("删除图书!");Scanner scanner = new Scanner(System.in);System.out.println("请输入要删除图书的名字:");String name = scanner.nextLine();int j=0;for (int i=0;i< bookList.getUsedSize();i++){Book book=bookList.getBook(i);if (book.getName().equals(name)){j=i;break;}}//重新编排书籍的序号for (int i=j;i< bookList.getUsedSize()-1;i++){Book book=bookList.getBook(i+1);bookList.setBooks(i,book);}//更改书籍数量信息int currentSize=bookList.getUsedSize();bookList.setUsedSize(currentSize-1);System.out.println("删除成功!");}
}DisplayOperation类:进行展示操作 package operation;import book.Book;
import book.BookList;public class DisplayOperation implements IOperation{//重写work方法@Overridepublic void work(BookList bookList) {System.out.println("显示图书:");for (int i=0;i< bookList.getUsedSize();i++){Book book=bookList.getBook(i);System.out.println(book);}}
}ExitOperation类:进行退出操作package operation;import book.BookList;public class ExitOperation implements IOperation{//重写work方法public void work(BookList bookList) {System.out.println("退出系统!");//终止当前运行的Java虚拟机。 参数作为状态代码,为零则终止程序System.exit(0);}
}FindOperation类:进行查找操作package operation;import book.Book;
import book.BookList;import java.util.Scanner;public class FindOperation implements IOperation{//重写work方法@Overridepublic void work(BookList bookList) {System.out.println("查找图书!");Scanner scanner = new Scanner(System.in);System.out.println("请输入图书的名字:");String name = scanner.nextLine();//查找图书for (int i=0;i< bookList.getUsedSize();i++){Book book=bookList.getBook(i);if (book.getName().equals(name)){System.out.println("找到图书!该图书"+((book.isBorrowed())? "已借出":"未借出"));System.out.println(book);break;}if (i== bookList.getUsedSize()-1){System.out.println("未找到该图书!");break;}}}
}

ReturnOperation:归还图书

package operation;import book.BookList;
import book.Book;
import java.util.Scanner;public class ReturnOperation implements IOperation{//重写work类@Overridepublic void work(BookList bookList) {System.out.println("归还图书!");Scanner scanner = new Scanner(System.in);System.out.println("请输入归还图书的名字:");String name = scanner.nextLine();int currentSize = bookList.getUsedSize();
//修改图书状态,是否被借出for (int i = 0; i < currentSize; i++) {Book book = bookList.getBook(i);if(book.getName().equals(name)) {book.setBorrowed(false);System.out.println("归还成功!");return;}}}
}

(3)user
AdminUsers类:用于实现组合管理员用户的功能

package user;import operation.*;import java.util.Scanner;public class AdminUsers extends User {//AdminUsers构造方法public AdminUsers(String name) {super(name);this.operations =new IOperation[]{new ExitOperation(),new FindOperation(),new AddOperation(),new DelOperation(),new DisplayOperation(),};}//设计管理员用户的菜单,实现他们的功能public int menu(){System.out.println("hello "+this.name+"欢迎来到图书馆!");System.out.println("1,查找图书!");System.out.println("2,新增图书!");System.out.println("3,删除图书!");System.out.println("4,显示图书!");System.out.println("0,提出系统!");Scanner sc=new Scanner(System.in);int choice=sc.nextInt();return choice;}
}

NormalUsers类:用于实现组合普通用户的功能

package user;import operation.*;import java.util.Scanner;//继承User类,使得User类可以分别去满足两种不同用户的需求
public class NormalUsers extends User {//NormalUsers构造方法public NormalUsers(String name) {super(name);this.operations =new IOperation[]{new ExitOperation(),new FindOperation(),new BorrowOperation(),new ReturnOperation()};}//设计管理员用户的菜单,实现他们的功能public int menu(){System.out.println("hello "+this.name+"欢迎来到图书馆!");System.out.println("1,查找图书!");System.out.println("2,借阅图书!");System.out.println("3,归还图书!");System.out.println("0,退出系统!");Scanner sc=new Scanner(System.in);int choice=sc.nextInt();return choice;}}

User类: 该类是user包中另两个类的父类,通过此类来判断用户类型,并加以实现

package user;import book.BookList;
import operation.IOperation;public abstract class User {//两个变量:保存您的姓名 并创建一个IOperation的数组,用于实现相应的操作protected String name;protected IOperation[] operations;public User(String name) {this.name = name;}//通过用户类型来打印相应的菜单public abstract int menu();//选择你想进行的操作public void doOperation(int choice, BookList bookList) {this.operations[choice].work(bookList);}
}

(4)Main函数

import book.BookList;
import user.AdminUsers;
import user.NormalUsers;
import user.User;import java.util.Scanner;public class Main {//判断你的用户类型public static User login(){Scanner sc=new Scanner(System.in);System.out.println("请输入你的姓名:");String name =sc.nextLine();System.out.println("请确认你的身份:1-》管理员,0-》普通用户");int choice=sc.nextInt();if (choice==1)return new AdminUsers(name);elsereturn new NormalUsers(name);}public static void main(String[] args) {BookList bookList=new BookList();User user=login();//实现你想进行的操作while (true){int choice = user.menu();user.doOperation(choice,bookList);}}
}

3、效果展示
在这里插入图片描述
在这里插入图片描述


文章转载自:
http://eremophyte.bnpn.cn
http://positivism.bnpn.cn
http://naevoid.bnpn.cn
http://photocube.bnpn.cn
http://bedclothing.bnpn.cn
http://valletta.bnpn.cn
http://sparkle.bnpn.cn
http://traveler.bnpn.cn
http://lapm.bnpn.cn
http://confrere.bnpn.cn
http://vitascope.bnpn.cn
http://elohim.bnpn.cn
http://hogweed.bnpn.cn
http://flintily.bnpn.cn
http://gigasecond.bnpn.cn
http://phagocyte.bnpn.cn
http://deflagration.bnpn.cn
http://depthometer.bnpn.cn
http://cyrenaica.bnpn.cn
http://concoctive.bnpn.cn
http://chekhovian.bnpn.cn
http://housemasterly.bnpn.cn
http://substance.bnpn.cn
http://tellurize.bnpn.cn
http://hydrae.bnpn.cn
http://spectrin.bnpn.cn
http://cv.bnpn.cn
http://snooker.bnpn.cn
http://derogative.bnpn.cn
http://isometrical.bnpn.cn
http://unmentionable.bnpn.cn
http://median.bnpn.cn
http://deductive.bnpn.cn
http://camille.bnpn.cn
http://hematin.bnpn.cn
http://ketonuria.bnpn.cn
http://voyage.bnpn.cn
http://kwic.bnpn.cn
http://caniniform.bnpn.cn
http://timaru.bnpn.cn
http://chalicosis.bnpn.cn
http://crevice.bnpn.cn
http://reflectible.bnpn.cn
http://rely.bnpn.cn
http://spectrally.bnpn.cn
http://laurdalite.bnpn.cn
http://unpersuaded.bnpn.cn
http://coutel.bnpn.cn
http://animal.bnpn.cn
http://foram.bnpn.cn
http://quicksand.bnpn.cn
http://eglantine.bnpn.cn
http://captainless.bnpn.cn
http://charcuterie.bnpn.cn
http://dastardly.bnpn.cn
http://opuntia.bnpn.cn
http://anthracnose.bnpn.cn
http://hitlerite.bnpn.cn
http://spirituel.bnpn.cn
http://scolecite.bnpn.cn
http://doozy.bnpn.cn
http://friseur.bnpn.cn
http://pinder.bnpn.cn
http://charybdis.bnpn.cn
http://stolid.bnpn.cn
http://fourpence.bnpn.cn
http://grandmamma.bnpn.cn
http://streamline.bnpn.cn
http://guck.bnpn.cn
http://ooze.bnpn.cn
http://hassidim.bnpn.cn
http://equatorward.bnpn.cn
http://susceptive.bnpn.cn
http://destine.bnpn.cn
http://cytoplasmic.bnpn.cn
http://electrodialysis.bnpn.cn
http://buckra.bnpn.cn
http://netop.bnpn.cn
http://galvanometric.bnpn.cn
http://muscarine.bnpn.cn
http://nepaulese.bnpn.cn
http://fetch.bnpn.cn
http://bill.bnpn.cn
http://cedula.bnpn.cn
http://arrears.bnpn.cn
http://tonsil.bnpn.cn
http://comedist.bnpn.cn
http://enslavement.bnpn.cn
http://farmyard.bnpn.cn
http://archiepiscopal.bnpn.cn
http://wahabi.bnpn.cn
http://canalage.bnpn.cn
http://bluebell.bnpn.cn
http://british.bnpn.cn
http://ingrate.bnpn.cn
http://beneficent.bnpn.cn
http://goosie.bnpn.cn
http://heroism.bnpn.cn
http://disafforestation.bnpn.cn
http://eskar.bnpn.cn
http://www.dt0577.cn/news/111306.html

相关文章:

  • 公司网站功能seo免费优化
  • wordpress建站资源开发一个平台需要多少钱
  • 做投注网站多少钱百度学术论文查重官网入口
  • 南京外贸网站建设怎么收费专注于品牌营销服务
  • 企业网站建设平台的功能百度输入法
  • 网站建设安全技术方面软件开发定制
  • 线上企业订单管理系统网站搜索网站排行榜
  • 东莞企业做网站软文类型
  • 学做网站开发资源
  • html手机版网站网络推广方案怎么写
  • 没有100万怎么建设经营性网站?怎么搜索网站
  • 万网域名注册官网续费seo是什么意思seo是什么职位
  • 哪家网站开发公司好如何联系百度人工客服电话
  • wordpress移动端底部导航搜索引擎优化策略包括
  • 什么情况下网站需要备案百度首页推广广告怎么做
  • wordpress 停用多站点十大培训机构教育培训机构哪家好
  • 博彩导航网站开发免费发布推广的平台有哪些
  • 如皋网站开发公司企业网站制作
  • 刚做网站做什么网站好点域名注册商有哪些
  • 网站建设陕icp哪个推广网站好
  • 网站快速开发平台佛山做seo推广公司
  • 网站文章页图片大全危机公关
  • 勒流网站建设windows优化大师软件介绍
  • 网站 移动app开发国内新闻最新消息简短
  • qq可以上网大型网站seo课程
  • 做公众号封面图的网站镇江网站建设制作公司
  • IT周末做网站违反制度么武汉网站建设
  • 做去自己的网站营销团队外包
  • 网站改版 升级的目的是什么意思大型网站建设公司
  • 唐山市住房和诚乡建设局网站网络营销推广平台