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

备案号网站下边seo外贸网站制作

备案号网站下边,seo外贸网站制作,wordpress 百度提交,如何做网站的教程前言:为了巩固之前学习的java知识点,我们用之前学习的java知识点(方法,数组,类和对象,封装,继承,多态,抽象类,接口)来实现一个简单的图书管理系统…

前言:为了巩固之前学习的java知识点,我们用之前学习的java知识点(方法,数组,类和对象,封装,继承,多态,抽象类,接口)来实现一个简单的图书管理系统!

目录

一. 创建文件的目录

二. 源码

book包

Book类

BookList类

operation包

IOeration接口

AddOperation类

DelOperation类

FindOperation类

ShowOperation类

BorrowOperation类

ReturnOperation类

ExitOperation类

user包

User类

AdminUser类

NormalUser类

Main类

三. 操作实例

1. 管理员

2. 用户

四. 补充说明


一. 创建文件的目录

使用Java开发工具IDEA创建一个Project工程,命名为TestBook,并在这个TestBook工程下的src下创建如下文件:book、opreation、user这三个包(Package)(以及这三个包下的类(class) 和 接口(interface)),并创建一个 Main 类。

二. 源码

book包

创建一个book包,book包下面创建两个类Book类(表示 图书类)和BookList类(表示 书架类)

Book类

描述书的有关信息,构造方法和各种getter,setter方法

package user;import operation.*;import java.util.Scanner;public class NormalUser extends User{public NormalUser(String name) {super(name);this.ioPerations = new IOperation[] {new ExitOperation(),new FindOperation(),new BorrowOperation(),new ReturnOperation()};}public int menu() {System.out.println("**********普通用户*****");System.out.println("1. 查找图书");System.out.println("2. 借阅图书");System.out.println("3. 归还图书");System.out.println("0. 退出系统");System.out.println("**********************");Scanner sc = new Scanner(System.in);System.out.println("请输入你的操作:");int choice = sc.nextInt();return choice;}}

BookList类

作为书架,利用数组存放书籍。

package book;public class BookList {private Book[] books; //定义数组存储书架上的书籍private int usedSize; //记录当前书架上 实际存放的书的 数量private static final int DEFAULT_CAPACITY = 10; //书架的初始容量是 10本书public BookList() {this.books = new Book[DEFAULT_CAPACITY];this.books[0] = new Book("三国演义","罗贯中",10,"小说");this.books[1] = new Book("西游记","吴承恩",9,"小说");this.books[2] = new Book("红楼梦","曹雪芹",19,"小说");this.usedSize = 3;}public int getUsedSize() {return usedSize;}public void setUsedSize(int usedSize) {this.usedSize = usedSize;}// 通过下标获取对应书籍的getter方法public Book getBook(int pos) {return books[pos];}public void setBooks(int pos,Book book) {books[pos] = book;}public Book[] getBooks(){return books;}
}

operation包

在operation包下面创建IOperation接口(图书操作 接口)和图书操作相关类AddOperation(表示 添加图书类),DelOperation(表示 删除图书类),FindOperation(表示 查找图书类),ShowOperation(显示图书类),BorrowOperation(表示 借阅图书类),ReturnOperation(归还图书类),ExitOperation(退出系统类)。

IOeration接口

后续使用所有与图书操作相关都要实现这个接口,对bookList对象进行相关工作。

package operation;import book.BookList;public interface IOperation {void work(BookList bookList);
}

AddOperation类

添加图书类

package operation;import book.Book;
import book.BookList;import java.util.Scanner;public class AddOperation implements IOperation{@Overridepublic void work(BookList bookList) {System.out.println("新增图书!");Scanner sc = new Scanner(System.in);System.out.println("请输入书名:");String name = sc.nextLine();System.out.println("请输入作者:");String author = sc.nextLine();System.out.println("请输入类型:");String type = sc.nextLine();System.out.println("请输入价格:");int price = sc.nextInt();Book book = new Book(name,author,price,type);//检查 数组当中 有没有这本书int currentSize = bookList.getUsedSize();for(int i=0;i<currentSize;i++) {Book book1 = bookList.getBook(i);if(book1.getName().equals(name)) {System.out.println("有这本书,不进行存放了!");return;}}if(currentSize==bookList.getBooks().length) {System.out.println("书架满了!");}else {bookList.setBooks(currentSize,book);bookList.setUsedSize(currentSize+1);}}}

DelOperation类

删除图书类

package operation;import book.Book;
import book.BookList;import java.util.Scanner;public class DelOperation implements IOperation{@Overridepublic void work(BookList bookList) {System.out.println("删除图书!");Scanner sc = new Scanner(System.in);System.out.println("请输入你要删除的图书:");String name = sc.nextLine();int pos = -1;int currentSize = bookList.getUsedSize();int i = 0;for(;i<currentSize;i++) {Book book = bookList.getBook(i);if(book.getName().equals(name)) {pos = i;break;}}if(i == currentSize) {System.out.println("没有你要删除的图书!");return;}//开始删除int j = pos;for(;j<currentSize;j++) {Book book = bookList.getBook(j+1);bookList.setBooks(j,book);}bookList.setBooks(j,null);bookList.setUsedSize(currentSize-1);}
}

FindOperation类

查找图书类

package operation;import book.Book;
import book.BookList;import java.util.Scanner;public class FindOperation implements IOperation{@Overridepublic void work(BookList bookList) {System.out.println("查找图书!");Scanner sc = new Scanner(System.in);System.out.println("请输入你要查找的图书:");String name = sc.nextLine();// 遍历这个数组int currentSize = bookList.getUsedSize();for(int i=0;i<currentSize;i++) {Book book = bookList.getBook(i);if(book.getName().equals(name)) {System.out.println("找到了这本书,信息如下:");System.out.println(book);return;}}System.out.println("没有找到这本书!");}
}

ShowOperation类

显示图书类

package operation;import book.Book;
import book.BookList;public class ShowOperation implements IOperation{@Overridepublic void work(BookList bookList) {System.out.println("显示图书!");int currentSize = bookList.getUsedSize();for(int i=0;i<currentSize;i++) {Book book = bookList.getBook(i);System.out.println(book);}}
}

BorrowOperation类

借阅图书类

package operation;import book.Book;
import book.BookList;import java.util.Scanner;public class BorrowOperation implements IOperation {@Overridepublic  void work(BookList bookList) {System.out.println("借阅图书!");Scanner sc = new Scanner(System.in);System.out.println("请输入你要借阅的图书:");String name = sc.nextLine();int currentSize = bookList.getUsedSize();for(int i=0;i<currentSize;i++) {Book book = bookList.getBook(i);if(book.getName().equals(name)) {book.setBorrowed(true);System.out.println("借阅成功!");System.out.println(book);return;}}System.out.println("你借阅的书 不存在!!");}
}

ReturnOperation类

归还图书类

package operation;import book.Book;
import book.BookList;import java.util.Scanner;public class ReturnOperation implements IOperation{@Overridepublic void work(BookList bookList) {System.out.println("归还图书!");Scanner sc = new Scanner(System.in);System.out.println("请输入你要归还的图书:");String name = sc.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("归还成功!");System.out.println(book);return;}}System.out.println("你归还的图书 不存在!!");}
}

ExitOperation类

退出系统类

package operation;import book.BookList;public class ExitOperation implements IOperation{@Overridepublic void work(BookList bookList) {System.out.println("退出系统!");System.exit(0);}
}

user包

user包下创建三个类,抽象类User类(表示所有用户类,父类),AdminUser类(管理员类,子类),NormalUser(普通用户类,子类)类

User类

所有用户类,包含基本属性:姓名,菜单(menu)方法的声明,执行方法操作(doOperation)方法的声明

package user;import book.BookList;
import operation.IOperation;public abstract class User {protected String name;protected IOperation[] ioPerations;public User(String name) {this.name = name;}public abstract int menu();public void doOperation(int choice, BookList bookList) {ioPerations[choice].work(bookList);}
}

AdminUser类

管理员类,包含管理员使用方法的数组和管理员菜单

package user;import operation.*;import java.util.Scanner;public class AdminUser extends User {public AdminUser(String name) {super(name);this.ioPerations = new IOperation[] {new ExitOperation(),new FindOperation(),new AddOperation(),new DelOperation(),new ShowOperation(),};}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("**********************");Scanner sc = new Scanner(System.in);System.out.println("请输入你的操作:");int choice = sc.nextInt();return choice;}
}

NormalUser类

普通用户类,包含普通用户使用方法的数组和普通用户菜单

package user;import operation.*;import java.util.Scanner;public class NormalUser extends User{public NormalUser(String name) {super(name);this.ioPerations = new IOperation[] {new ExitOperation(),new FindOperation(),new BorrowOperation(),new ReturnOperation()};}public int menu() {System.out.println("**********普通用户*****");System.out.println("1. 查找图书");System.out.println("2. 借阅图书");System.out.println("3. 归还图书");System.out.println("0. 退出系统");System.out.println("**********************");Scanner sc = new Scanner(System.in);System.out.println("请输入你的操作:");int choice = sc.nextInt();return choice;}}

Main类

主要的操作逻辑

import book.BookList;
import user.AdminUser;
import user.NormalUser;
import user.User;import java.util.Scanner;public class Main {public static User login() {System.out.println("请输入你的姓名:");Scanner sc = new Scanner(System.in);String name = sc.nextLine();System.out.println("请输入你的身份,1. 管理员 2. 普通用户 ->");int choice = sc.nextInt();if(choice == 1) {// 管理员return new AdminUser(name);}else {// 普通用户return new NormalUser(name);}}public static void main(String[] args) {BookList bookList = new BookList();//user 指向哪个对象 就看返回值User user = login();while(true) {int choice = user.menu();//根据choice 的选择 来决定调用的是哪个方法user.doOperation(choice, bookList);}}
}

三. 操作实例

1. 管理员

2. 用户

四. 补充说明

由于目前所学知识有限,这个图书管理系统目前存在的缺点:

1. 没有做到持久化存储。以后可以进行升级:将数据存储到数据库或者文件夹中

2. 当前用到的只是数组。后期可以做成网页交互。

http://www.hkea.cn/news/730493/

相关文章:

  • 图片设计在线网站推广优化外包便宜
  • 武汉平价做网站网络软文推广案例
  • 新产品线上推广方案鞍山seo外包
  • 网站建网站建设和优佛山网络推广培训
  • 毕业设计做网站怎么样微信crm管理系统
  • 个人网站开发多少钱电脑培训班零基础
  • 互联网有哪些岗位宁波免费seo在线优化
  • 惠州做棋牌网站建设哪家技术好哪里的网络推广培训好
  • 如何做线上赌博的网站推广策略有哪些方法
  • 男的女的做那个视频网站百度收录需要多久
  • 大通县wap网站建设公司网站免费制作
  • 哪个网站教做公众号甘肃百度推广电话
  • 网站怎么让百度收录广告网络推广
  • 小型网站设计及建设论文定制网站制作公司
  • 视频网站建设费用排名优化网站seo排名
  • 怎么自己做网站服务器linux百度账号查询
  • 梧州网站推广方案百度热搜 百度指数
  • 网站不兼容ie6自助建站模板
  • 甘肃网站建设公司百中搜优化软件
  • 国内外贸网站建设公司seo教程 百度网盘
  • 一物一码二维码生成系统最好用的系统优化软件
  • 如何在大网站做外链镇江网站建站
  • 杭州网站建设公司导航短视频营销案例
  • 昆明做网站建设有哪些长尾关键词排名工具
  • 一女被多男做的视频网站网站seo系统
  • 网站建设 青海网站建设找哪家好
  • win7 网站配置优化方案官网电子版
  • 广州seo优化公司排名浙江seo博客
  • 全网推广的方式有哪些抖音seo推荐算法
  • 网站开发开源架构抖音营销软件