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

怎么上网站做简易注销的步骤百度怎么推广自己的作品

怎么上网站做简易注销的步骤,百度怎么推广自己的作品,网站免费空间哪里申请,清远做网站的目录 1.前言 2.正文 2.1思路 2.2Book包 2.3people包 2.4operation包 2.5主函数 3.小结 1.前言 哈喽大家好吖#xff0c;今天来给前面Java基础的学习来一个基础的实战#xff0c;做一个简单的图书管理系统#xff0c;这里边综合利用了我们之前学习到的类和对象…  目录 1.前言 2.正文 2.1思路 2.2Book包 2.3people包 2.4operation包 2.5主函数 3.小结 1.前言 哈喽大家好吖今天来给前面Java基础的学习来一个基础的实战做一个简单的图书管理系统这里边综合利用了我们之前学习到的类和对象继承与多态以及抽象类和接口等许多重要的概念以及知识事不宜迟让我们开始吧。 2.正文 2.1思路 在正式开始图书管理系统的代码完成前我们需要先对一系列所需要创建的对象各个对象之间的关系如何实现这种关系都要有一个提前的规划下面我通过PlantUML生成了图书管理系统的基础框架我据图一一解释。 在图书管理系统里面会参与各种行为的对象都有哪些呢有书本借阅者管理员具体的借阅功能等所以我们一共有四个包分别为 Book包   operation包 people 主函数所在包 我们把各个模块把它分成各个包来进行封装是代码的条理性更好。 2.2Book包 在Book包中我们创建了俩个对象一个是book对象另一个书用于存放书的bookshelf对象具体实现如下 package Book;public class Book {private String bookName;private String writer;private String classification;private Boolean borrow;public Book(String bookName, String writer, String classification, Boolean borrow) {this.bookName bookName;this.writer writer;this.classification classification;this.borrow borrow;}public String getBookName() {return bookName;}public void setBookName(String bookName) {this.bookName bookName;}public String getWriter() {return writer;}public void setWriter(String writer) {this.writer writer;}public String getClassification() {return classification;}public void setClassification(String classification) {this.classification classification;}public Boolean getBorrow() {return borrow;}public void setBorrow(Boolean borrow) {this.borrow borrow;} } 因为成员的访问权限我们设置为private所以我们需要各种getter和setter方法来调用成员变量其中getter和setter方法是可以通过系统快速生成的即按住altinsert可以快速实现该方法。 下面是Bookshelf对象 package Book;public class bookShelf {private Book[] books new Book[10];private int bookNum 0;public bookShelf() {this.books[0] new Book(三国演义,罗贯中,历史演义,null);this.books[1] new Book(三体,刘慈欣,科幻小说,null);this.books[2] new Book(西游记,吴承恩,小说,null);this.bookNum 3;}public Book getBooks(int pos) {return books[pos];}public void setBooks(Book book,int pos) {this.books[pos] book;}public int getBookNum() {return bookNum;}public void setBookNum(int bookNum) {this.bookNum bookNum;} } 我们在bookshelf的构造方法中提前初始化里三个对象即可以理解为图书馆中原本就存放的书。创建一个bookNum变量用于记录当前所存放的图书数量。 2.3people包 在people包中我们通过继承来实现首先创建了一个person抽象类用于抽取管理员和借阅者的共同属性以及方法再分别实现子类Admin与normalUser。 person类 package People;import operation.*; import Book.*;public abstract class Person {public String name;public Operation[] iOperations;public Person(String name) {this.name name;}public abstract int menu();public void finishOPerations(int choice,bookShelf bookShelf) {iOperations[choice].work(bookShelf);} } 共同属性姓名不必多说还额外创建了一个功能数组另外创建一个菜单方法用于打印各自的菜单最后还有finishOPeration方法通过这个功能数组即可实现输入菜单对应选项进入对应功能的操作。 Admin类 package People;import operation.*;import java.util.Scanner;public class Admin extends Person {public Admin(String name) {super(name);this.iOperations new Operation[]{new edit(),new showBook(),new findBook(),new addBook(),new delBook()};}Overridepublic int menu() {System.out.println(*******************);System.out.println(**欢迎来到管理员菜单**);System.out.println(******0.退出系统*****);System.out.println(******1.显示图书*****);System.out.println(******2.寻找图书*****);System.out.println(******3.增加图书*****);System.out.println(******4.减少图书*****);System.out.println(*******************);Scanner scanner new Scanner(System.in);int choice scanner.nextInt();return choice;}} 在这个构造方法中需要对功能数组中添加功能方法下文同样。 normalUser类 package People;import operation.*;import java.util.Scanner;public class normalUser extends Person {Overridepublic int menu() {System.out.println(*******************);System.out.println(***欢迎来到用户菜单***);System.out.println(******0.退出系统*****);System.out.println(******1.显示图书*****);System.out.println(******2.寻找图书*****);System.out.println(******3.借阅图书*****);System.out.println(******4.归还图书*****);System.out.println(*******************);Scanner scanner new Scanner(System.in);int choice scanner.nextInt();return choice;}public normalUser(String name) {super(name);this.iOperations new Operation[]{new edit(),new showBook(),new findBook(),new borrowBook(),new returnBook()};}} 2.4operation包 在这个包里面我们尝试把各种人物的行为全都各个创建成对象来进行分别实现这里我们采用了接口即在这个包里接了这个接口的其他对象都需要将接口中的方法重写来达到方法都得到实现的目的。 首先是接口 package operation;import Book.bookShelf;public interface Operation {public void work(bookShelf bookShelf); }接口中的方法不需要具体实现。 接下来就是各种需要实现的对象与对象之间的逻辑了如借阅图书归还图书查询图书退出系统等我一一进行讲解 findBook类 package operation;import Book.Book; import Book.bookShelf; import java.util.Scanner;//找书先要判断是否有书若有则借若无则直接返回 public class findBook implements Operation{public void work(bookShelf bookShelf){Scanner scanner new Scanner(System.in);System.out.println(查找图书);String name scanner.nextLine();for(int i 0;i bookShelf.getBookNum();i){if(name.equals(bookShelf.getBooks(i).getBookName())){System.out.println(找到了《 name 》书);return;}}System.out.println(未找到 《 name 》);} }通过遍历来实现若遍历到有此书则打印找到了并返回若能走完遍历则未找到。 showBook类 package operation;import Book.bookShelf;public class showBook implements Operation{public void work(bookShelf bookShelf) {System.out.println(显示图书);//遍历书架for (int i 0; i bookShelf.getBookNum(); i) {System.out.println(bookShelf.getBooks(i));}}} 这个遍历打印即可没什么特殊。 addBook类 //新增图书先判断该书是否存在,再实例化一个书对象添加进bookshelf并将bookNum增加package operation;import Book.Book; import Book.bookShelf; import java.util.Scanner;public class addBook implements Operation {Overridepublic void work(bookShelf bookShelf) {Scanner scanner new Scanner(System.in);System.out.println(请输入添加的图书名字);String name scanner.nextLine();System.out.println(请输入添加的图书作者名字);String writer scanner.nextLine();System.out.println(请输入添加的图书分类);String classfication scanner.nextLine();//遍历判断是否有相同书for(int i 0;i bookShelf.getBookNum();i){if(name.equals(bookShelf.getBooks(i).getBookName())){System.out.println(书库里已有该书);return;}}//新增图书bookShelf.setBooks(new Book(name,writer,classfication,false), bookShelf.getBookNum());bookShelf.setBookNum(bookShelf.getBookNum() 1);//新增图书加1System.out.println(书《 name 》已添加成功);} } 新增图书是属于Admin对象的类方法先输入要添加的书的各个成员变量的信息再遍历寻找有无相同书若没有则添加。 delBook类 //删除一本书现需要查找是否有该书删书即使后一个覆盖前一个即可package operation;import Book.Book; import Book.bookShelf; import java.util.Scanner;public class delBook implements Operation{Overridepublic void work(bookShelf bookShelf) {Scanner scanner new Scanner(System.in);System.out.println(请输入你需要删除的书);String name scanner.nextLine();for(int i 0;i bookShelf.getBookNum();i){if(name.equals(bookShelf.getBooks(i).getBookName())){for(int j i;j bookShelf.getBookNum() - 1;j){bookShelf.setBooks(bookShelf.getBooks(j 1),j);}bookShelf.setBookNum(bookShelf.getBookNum() - 1);System.out.println(该书已删除完毕);return;}}System.out.println(不存在该书);} } 也是遍历寻找输入的书若找到删除的书则将后面的书一一往前覆盖即可实现删除功能最后不要忘了bookNum要进行减一操作。 borrowBook类 package operation;import Book.Book; import Book.bookShelf; import java.util.Scanner;public class borrowBook implements Operation{Overridepublic void work(bookShelf bookShelf) {Scanner scanner new Scanner(System.in);System.out.println(请输入要借阅书的名字);String name scanner.nextLine();for(int i 0;i bookShelf.getBookNum();i){if(name.equals(bookShelf.getBooks(i).getBookName())){bookShelf.getBooks(i).setBorrow(true);//设置借阅状态System.out.println(书《 name 》借阅成功);return;}}System.out.println(不存在该书借阅失败);} } 还是先遍历找书若有则改变图书的借阅状态若无则借阅失败。 returnBook类 package operation;import Book.bookShelf;import java.util.Scanner;public class returnBook implements Operation{Overridepublic void work(bookShelf bookShelf) {Scanner scanner new Scanner(System.in);System.out.println(请输入要归还书的名字);String name scanner.nextLine();for(int i 0;i bookShelf.getBookNum();i){if(name.equals(bookShelf.getBooks(i).getBookName())){bookShelf.getBooks(i).setBorrow(false);//设置借阅状态System.out.println(书《 name 》归还成功);return;}}System.out.println(不存在该书归还失败);} }和借书操作如出一辙唯一的区别就是状态改变的true与false不同。 edit类 package operation;import Book.bookShelf;public class edit implements Operation{Overridepublic void work(bookShelf bookShelf) {for(int i 0;i bookShelf.getBookNum();i){bookShelf.setBooks(null,i);}bookShelf.setBookNum(0);System.exit(0);} } 实现退出功能先将储存的图书删除将bookNum清零最后退出系统。 2.5主函数 在主函数中同样我们把登陆即选择自己是管理员还是借阅者身份的选择的login功能也通过单独的类方法来进行实现。 Login类 package System;import People.Admin; import People.Person; import People.normalUser;import java.util.Scanner;public class Login{public Person loginIn(){System.out.println(*欢迎来到图书管理系统**);Scanner scanner new Scanner(System.in);System.out.println(请输入你的名字);String name scanner.nextLine();System.out.println(*******************);System.out.println(******1.管理员******);System.out.println(******2.普通用户****);System.out.println(请输入你的身份);if(scanner.nextInt() 1){return new Admin(name);}else{return new normalUser(name);}} } 最后就是主函数这个时候主函数就会比较整洁明了记得要分别实例化书架bookShelf对象以及Login登陆对象了。 package System;import Book.*; import People.*;public class system {public static void main(String[] args) {bookShelf bookShelf new bookShelf();Login login new Login();Person person login.loginIn();while(true){int choice person.menu();person.finishOPerations(choice,bookShelf);}}} 这样我们图书管理系统就完成了  3.小结 今天的图书管理系统的分享到这里就结束了喜欢的小伙伴不要忘了点一手关注再走哦欢迎大家在评论区多多交流哦。
http://www.lakalapos1.cn/news/18941/

相关文章:

  • 安平百度做网站图片站wordpress
  • 温州网站建设得花多少钱福州网站设计哪家做的好
  • 建立化妆品网站功能wordpress怎么添加网盘下载文件
  • 网站留言系统编写代码php毕业设计二手网站怎么做
  • 网站用心上海传媒公司艺人
  • 木马设计东莞百度推广优化
  • 电商网站里的图片大荔县住房和城市建设局网站
  • 代刷网站推广全网最便宜木疙瘩h5制作
  • 榆林做网站电话如何提高网站访客数
  • 中国建设部建造师网站制作旅游景点介绍网页
  • 营销型网站建设目的什么是软件开发者
  • 工信部网站备案做网站联系我们模板免费
  • 万网网站备份展馆展示设计公司排名
  • 网站建设维护是啥意思凡客app官网
  • 上海婚纱网站设计超级优化基因液
  • 珠海网站系统建设项目礼县建设局网站
  • 帮别人建设网站wordpress壁纸
  • 如何做地方网站推广php建设网站工具
  • 网站建设项目文档鸿运通网站建设
  • 企业网站的优势如何推广中国文化
  • 个人网站鉴赏建设厅副厅长
  • 彩票网站开发合法吗东莞莞城网站建设公司
  • 做设计 素材网站有哪wordpress升级机制
  • 中信建设有限责任公司定州优化搜狗排名
  • 建设工程网站tc老师问我做网站用到什么创新技术
  • 机关网站内容建设工作总结滁州网站建设联系方式
  • 网站建设的后期维护问题wordpress 侧边菜单 企业主题
  • 网站平台建设需要注意的是wordpress 调用页面列表
  • 长沙网站seo技术网站建设课程概要
  • 无锡微网站制作内蒙古做网站的公司有哪些