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

北京微信网站设计费用百度指数查询官网大数据

北京微信网站设计费用,百度指数查询官网大数据,如何向百度提交网站,网站建设 数据分析前言:为了巩固之前学习的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.15wanjia.com/news/33099.html

相关文章:

  • 做高端网站建设seo渠道是什么意思
  • 建设网站制作实训报告网络营销的特征
  • 济南学习做网站seo排名优化推广教程
  • 做网站济宁自助优化排名工具
  • 性是怎么做视频网站seoul
  • 做网站的教程google关键词搜索工具
  • 肇庆网站建设方案优化网站视频
  • 工业设计网站排行榜前十名有哪些软文营销案例文章
  • 网站备案后怎么做网站流量查询网站统计查询
  • 广州五屏网站建设seo自动点击排名
  • wordpress制作友情链接页面百度关键词优化公司
  • 惠州公司做网站关键词歌词图片
  • 做网站模板 优帮云茂名百度seo公司
  • 广州网站制作功能陕西网页设计
  • 网站建设颊算网站推广工作
  • 贵州做农业网站seo建站工具
  • 小米商城网页设计论文百度seo公司
  • 北京网站设计公司兴田德润怎么样下载百度app最新版到桌面
  • 做网站开发学什么语言app推广
  • 宿迁网站制作网站多少钱
  • 本地电脑做视频网站 外网连接网站怎么宣传
  • 网站建设方案云盘百度百科推广费用
  • 有什么网站做热图网店运营与管理
  • 公司门户网站怎么做seoul怎么读
  • 怎么做网站自动采集数据库网络舆情监测中心
  • 微信公众号里的网站怎么做的网站源码交易平台
  • 做网站租什么服务器网络营销专业主要学什么
  • 基于php的网站开发汉中seo培训
  • 网站模版 下载工具石家庄网站建设
  • 青岛新公司网站建设推广培训公司排名