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

深圳做网站乐云seo费用优惠wordpress网址导航

深圳做网站乐云seo费用优惠,wordpress网址导航,做公司自主网站,杭州高端网站制作前言#xff1a; 图书馆管理系统需要结合JavaSE的绝大部分知识#xff0c;是一个很好的训练项目。 为了让大家更加方便的查阅与学习#xff0c;我把代码放开头#xff0c;供大家查询。 还有对代码的分析#xff0c;我将以类为单位分开讲解。 目录 全部代码 Main类 Us… 前言 图书馆管理系统需要结合JavaSE的绝大部分知识是一个很好的训练项目。 为了让大家更加方便的查阅与学习我把代码放开头供大家查询。 还有对代码的分析我将以类为单位分开讲解。 目录 全部代码  Main类  User类  BookList类  Book类  NormalUser类  全部代码  /*一共有三个包*///User包 //User.java package user; import Book.BookList; import Operation.IOparetion;public abstract class User {protected String name;protected IOparetion[] iOparetions;public User(String name) {this.name name;}public abstract int menu();public void doIOparetion(int chioce, BookList bookList){this.iOparetions[chioce].work(bookList);} }//User包 //NormalUser.java package user; import Operation.*; import java.util.Scanner;public class NormalUser extends User{public NormalUser(String name) {super(name);this.iOparetions new IOparetion[] {new ExitOparetion(),new FindOparetion(),new BorrowedOparetion(),new ReturnOparetion()};}Overridepublic int menu() {System.out.println(******管理员用户******);System.out.println(1.查找图书);System.out.println(2.借阅图书);System.out.println(3.归还图书);System.out.println(0.退出系统);System.out.println(******************);System.out.println(请输入数字);Scanner scannernew Scanner(System.in);int choice scanner.nextInt();return choice;} }//User包 //Administrators.java package user; import Operation.*; import java.util.Scanner;public class Administrators extends User {public Administrators(String name) {super(name);this.iOparetions new IOparetion[]{new ExitOparetion(),new FindOparetion(),new AddOparetion(),new DelOparetion(),new ShowOparetion()};}public int menu() {System.out.println(******普通用户******);System.out.println(1.查找图书);System.out.println(2.新增图书);System.out.println(3.删除图书);System.out.println(4.显示图书);System.out.println(0.退出系统);System.out.println(******************);System.out.println(请输入数字);Scanner scanner new Scanner(System.in);int choice scanner.nextInt();return choice;} }//Book包 //Book.java package Book;public class Book {private String name;private String author;private int price;private String type;private boolean isLend;public Book(String name, String author, int price, String type) {this.name name;this.author author;this.price price;this.type type;}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 isLend() {return isLend;}public void setLend(boolean lend) {isLend lend;}Overridepublic String toString() {return Book{ name name \ , author author \ , price price , type type \ (isLendtrue?已借出:未借出)};} }//Book包 //BookList.java package Book;public class BookList {private Book[] booknew Book[10];private int usedSize;public Book getBook(int pos) {return book[pos];}public void setBook(int pos,Book book) {this.book[pos] book;}public int getUsedSize() {return usedSize;}public void setUsedSize(int usedSize) {this.usedSize usedSize;}public BookList() {book[0]new Book(西游记,吴承恩,19,小说);book[1]new Book(三国演义,罗贯中,36,小说);book[2]new Book(红楼梦,曹雪芹,13,小说);this.usedSize3;}public boolean isFull(){if(usedSizebook.length){return true;}return false;} }//Oparetion包 //Ioparetion.java package Operation;import Book.BookList;public interface IOparetion {void work(BookList bookList); }//Oparetion包 //AddOparetion.java package Operation;import Book.Book; import Book.BookList; import java.util.Scanner;public class AddOparetion implements IOparetion {Overridepublic void work(BookList bookList) {Scanner scannernew Scanner(System.in);System.out.println(请输入你要添加的书籍名字);String namescanner.nextLine();System.out.println(请输入作者的名字);String authorscanner.nextLine();System.out.println(请输入书的种类);String typescanner.nextLine();System.out.println(请输入书的价格);int pricescanner.nextInt();Book booknew Book(name,author,price,type);if(bookList.isFull()){System.out.println(书架满了借阅失败);return;}bookList.setBook(bookList.getUsedSize(), book);bookList.setUsedSize(bookList.getUsedSize()1);System.out.println(添加成功);} }//Oparetion包 //BorrowedOparetion.java package Operation;import Book.BookList; import java.util.Scanner;public class BorrowedOparetion implements IOparetion{Overridepublic void work(BookList bookList) {System.out.println(请输入你要找的书名);Scanner scannernew Scanner(System.in);String namescanner.nextLine();for(int i0;ibookList.getUsedSize();i){if(name.equals(bookList.getBook(i).getName())){bookList.getBook(i).setLend(true);System.out.println(借阅成功);return;}}System.out.println(借阅失败);}}//Oparetion包 //DelOparetion.java package Operation;import Book.BookList; import java.util.Scanner;public class DelOparetion implements IOparetion{Overridepublic void work(BookList bookList) {System.out.println(请输入你要删除的书籍名字);Scanner scannernew Scanner(System.in);String sscanner.nextLine();int pos-1;int i0;for (;ibookList.getUsedSize();i){if(s.equals(bookList.getBook(i))){posi;}if(ibookList.getUsedSize()){System.out.println(没有你要找的书);return;}}for(int ji;ibookList.getUsedSize()-1;i){bookList.setBook(j,bookList.getBook(j1));}bookList.setBook(bookList.getUsedSize(), null);bookList.setUsedSize(bookList.getUsedSize()-1);System.out.println(删除成功);} }//Oparetion包 //ExitOparetion.java package Operation; import Book.BookList;public class ExitOparetion implements IOparetion {Overridepublic void work(BookList bookList) {System.out.println(退出系统中....);for(int i0;ibookList.getUsedSize()-1;i){bookList.setBook(i,null);}System.exit(0);} }//Oparetion包 //FindOparetion.java package Operation;import Book.BookList; import java.util.Scanner;public class FindOparetion implements IOparetion{Overridepublic void work(BookList bookList) {System.out.println(请输入你要找的书名);Scanner scannernew Scanner(System.in);String namescanner.nextLine();for(int i0;ibookList.getUsedSize();i){if(name.equals(bookList.getBook(i).getName())){System.out.println(找到了下标为i);System.out.println(bookList.getBook(i));return;}}System.out.println(没找到);} }//Oparetion包 //ReturnOparetion.java package Operation;import Book.BookList; import java.util.Scanner;public class ReturnOparetion implements IOparetion{Overridepublic void work(BookList bookList) {Scanner scannernew Scanner(System.in);System.out.println(请输入你要归还的书名);String sscanner.nextLine();for (int i 0; i bookList.getUsedSize()-1; i) {if(s.equals(bookList.getBook(i).getName())){bookList.getBook(i).setLend(false);System.out.println(归还成功);return;}}System.out.println(归还失败没有你要归还的书);} }//Oparetion包 //ShowOparetion.java package Operation; import Book.BookList;public class ShowOparetion implements IOparetion{Overridepublic void work(BookList bookList) {for(int i0;ibookList.getUsedSize();i){System.out.println(bookList.getBook(i));}}} 首先我们需要打个框架出来由于java是一门面向对象的编程所以我们应该要多考虑对象而不是过程。 我将它分为三个包User、Book、operation包其实对象有书架、书、用户、管理员。 总体请看下图 这里我主要讲解大致结构和细微的细节 因为方法的思路在数据结构讲解更加清晰 Main类  public class Main {public static User login(){Scanner scannernew Scanner(System.in);System.out.println(请输入你的名字);String namescanner.nextLine();System.out.println(请输入你的身份1.普通用户 2.管理员用户);int choice scanner.nextInt();if(choice1){NormalUser normalUsernew NormalUser(name);return normalUser;}else{Administrators administratorsnew Administrators(name);return administrators;}}public static void main(String[] args) {BookList bookListnew BookList();User userlogin();while (true){int retuser.menu();user.doIOparetion(ret,bookList);}} }上述代码中 Scanner来new一个对象来输入int一个choice来接收选1还是2选择是管理人还是普通用户。 由于要返回一个对象所以login的返回值是user类型的user与管理员和普通用户是父子关系在main中用user类型接收属于向上转型好处就是发生多态。 User类  package user; import Book.BookList; import Operation.IOparetion;public abstract class User {protected String name;protected IOparetion[] iOparetions;public User(String name) {this.name name;}public abstract int menu();public void doIOparetion(int chioce, BookList bookList){this.iOparetions[chioce].work(bookList);} }上述代码中 User作为父类被管理员和普通用户继承被abstract修饰主要是为了menu这个方法被继承实现多态。 IOparetion是一个接口是为了被那些add和del等等方法实现的还是实现多态 它现在作为一个数组来接收是为了存放这些方法这样就不用一个个在用户或者管理员里面书写了可以直接定义为一个类这也是为什么方法可以另外书写的原因这体现了面向对象的特点大大缩短了工程量和分模块的简洁性即使下次有人需要用不需要再写直接调用就好了。 BookList类  package Book;public class BookList {private Book[] booknew Book[10];private int usedSize;public Book getBook(int pos) {return book[pos];}public void setBook(int pos,Book book) {this.book[pos] book;}public int getUsedSize() {return usedSize;}public void setUsedSize(int usedSize) {this.usedSize usedSize;}public BookList() {book[0]new Book(西游记,吴承恩,19,小说);book[1]new Book(三国演义,罗贯中,36,小说);book[2]new Book(红楼梦,曹雪芹,13,小说);this.usedSize3;}public boolean isFull(){if(usedSizebook.length){return true;}return false;} }对于上述代码 由于java是面向对象编程所以对于一些信息不需要用户来知道内部是怎么实现的所以用private修饰这样的话需要set和get方法来获取这样之后的代码都需要调用set和get来获取或者是赋值。 BookList是书架所以里面是摆书的所以用Book类型作为数组来收取book。可以放很多本。 usedsize是有效书籍数就是记录里面有多少本。 Book类  package Book;public class Book {private String name;private String author;private int price;private String type;private boolean isLend;public Book(String name, String author, int price, String type) {this.name name;this.author author;this.price price;this.type type;}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 isLend() {return isLend;}public void setLend(boolean lend) {isLend lend;}Overridepublic String toString() {return Book{ name name \ , author author \ , price price , type type \ (isLendtrue?已借出:未借出)};} }对于上述代码 Book是类它代表的是一本书所以你需要定义名字作者价格什么什么的。 也是利用封装只把必要的信息给用户所以用privat密封起来更加安全一点所以需要set和get方法。 这里的toString方法里面有个三目操作符如果isLend被借出的话就是true就会打印已借出否则为借出。  NormalUser类  package user; import Operation.*; import java.util.Scanner;public class NormalUser extends User{public NormalUser(String name) {super(name);this.iOparetions new IOparetion[] {new ExitOparetion(),new FindOparetion(),new BorrowedOparetion(),new ReturnOparetion()};}Overridepublic int menu() {System.out.println(******管理员用户******);System.out.println(1.查找图书);System.out.println(2.借阅图书);System.out.println(3.归还图书);System.out.println(0.退出系统);System.out.println(******************);System.out.println(请输入数字);Scanner scannernew Scanner(System.in);int choice scanner.nextInt();return choice;} }对于上述代码 如果继承了父类使用构造方法时候需要先把父类的构造方法实现。 因为IOparetion是user里面的user被普通用户继承所以可以直接访问把他变成一个数组这样就可以存方法了不用在这普通用户这个类里一个一个方法写直接脱离出来非常充分体现了面向对象的特点
http://www.dnsts.com.cn/news/81659.html

相关文章:

  • 站长工具端口网站制作的报价大约是多少
  • 北京网站设计联系方式关键词查询神器
  • 360浏览器打不开90设计网站苏州做网站好的
  • 北京网络建站如何让网站被百度收入
  • 做网站需要做数据库单页网站系统
  • 深圳万齐创享网站建设win7用本地文件做网站模板
  • 16年百度对泛解析网站的惩罚网址关键词查询网站
  • 如何使用万网主机建设网站项目网专栏
  • 中国联通网站备案wordpress wp loginpro
  • 福田网站制作设计企业管理六大体系
  • 南阳网站关键词网站目的
  • 地区性门户网站是什么意思网页设计中html代码
  • 如何进入微网站济南手机网站建设公司
  • 做一个网站怎么做的吗做网站的数据库的步骤
  • 网站开发行业知识新闻郑州专业做网站企业
  • 自己的网站在哪做的忘了广州开发区和黄埔区的关系
  • 那些行业需要做网站保定酒店网站制作
  • 只做鞋子的网站类似优酷网站建设价格
  • 网站建设项目管理上海网站开发哪家好薇
  • 教育网站建设需求分析报告十大奢侈品牌logo图片
  • 小米手机做网站服务器太原网站建设培训班
  • code编程网站合肥教育网站建设
  • 国内网站设计作品欣赏wordpress 修改个人资料
  • 做产品类网站有哪些网站下载免费软件安装
  • 淘宝客怎么建立网站网站设计网站建设网站制作
  • 张家界简单的网站建设跨境电商怎么注册店铺
  • 黑龙江企业网站建设公司如何编写网站建设方案书
  • 顺德网站建设市场对百度竞价排名的看法
  • 杭州建设网站平台的哪些企业比较好wordpress调整文章编辑界面
  • 深圳网站开发技术个性化网站建设费用