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

python兼职网站开发wordpress插件无法安装

python兼职网站开发,wordpress插件无法安装,绍兴做网站公司,备案期间关闭网站引言 在我们学习了一些java的基础语法之后,需要把这些知识点可以串起来,这里使用一个简单的小项目可以很好的帮助我们牢记这些知识点,今天就带大家学习一个有关java的小项目,很多学校也经常把这个项目作为他们的课程设计——经典的…

引言

      在我们学习了一些java的基础语法之后,需要把这些知识点可以串起来,这里使用一个简单的小项目可以很好的帮助我们牢记这些知识点,今天就带大家学习一个有关java的小项目,很多学校也经常把这个项目作为他们的课程设计——经典的图书管理系统。(ps:不懂的知识可以看往期文章)

       这里必须提前给大家说一下,要想看懂这篇文章,必须得掌握我往期的文章:带你玩转java封装和继承(上),JAVA如何利用接口实现多继承问题。只有看明白这些文章,才能理解本次图书管理系统的代码。链接给大家放这里了~~

http://t.csdnimg.cn/vYS14

http://t.csdnimg.cn/DQynp

图书管理系统界面:

普通用户界面菜单:

1.查找图书

2.新增图书

3.删除图书

4.显示图书

0.退出系统

---------------------------------------------------------------------------------------------------------------------------------

管理员界面菜单:

1.查找图书

2.借阅图书

3.归还图书

0.退出系统

如何搭建基本框架:

首先我们先创建一些项目里一些我们需要用到基础的类来完善我们整个逻辑框架,

 

       首先右击src按步骤创建一个User的包,这个包里首先放的就是我们的的用户类的一些功能和管理员类的一些功能。根据我们上面的需求两者都需要对应的功能菜单。

AdminUser:

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;}

NormalUser:

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 scanner=new Scanner(System.in);int choice=scanner.nextInt();return choice;}

      这里有一个细节,不知道你有没有发现,这两段代码的菜单打印我都使用的是int返回值,这是为什么呢,原因其实仔细思考一下就可以得出答案,由于二者的菜单内容的不同我们需要根据不同的对象,打印不同的菜单,为了区分这两个对象我们根据返回值的不同进行区分。现在看不懂没关系,看到后面的代码你就明白了。

User

      添加这个类的原因是在AdminUser和NormalUser中有许多共性的部分,我们可以把这些部分抽取出来,创建一个新的类User,只需要继承就好了。

我们还需要一个main方法来测试我们代码的正确性,这里创建一个main类:

public class Main {public static User login(){Scanner scanner=new Scanner(System.in);System.out.println("请输入你的姓名");String name=scanner.nextLine();System.out.println("请输入你的身份,1:管理员    2:普通用户");int choice=scanner.nextInt();if(choice==1){AdminUesr adminUesr=new AdminUesr(name);return adminUesr;}else{NormalUser normalUser=new NormalUser(name);return normalUser;}}public static void main(String[] args) {User user= login();BookList bookList = new BookList();while(true) {int choice = user.menu();user.doIoperations(choice, bookList);}}
}

       那么我们有了用户的编写,接下来就得管理图书了,同样的,我们新建一个Book包里面存放有关书的一些类,大体上是book类和bookList类,

book:

public class book {private String name;private String author;private int price;private String type;private boolean isLend;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;}public book(String name, String author, int price, String type) {this.name = name;this.author = author;this.price = price;this.type = type;}@Overridepublic String toString() {return "book{" +"name='" + name + '\'' +", author='" + author + '\'' +", price=" + price +", type='" + type + '\'' +(isLend==true ? "已借出"  :  "未借出")+
//                ", isLend=" + isLend +'}';}}

 

好了,有了书我们还得有一个书架把书管理起来,这里我们创建一个bookList类:

我们给这里直接放了三本书,并且设置了此时书的个数usedSize,这样操作起来比较方便。

      好了,上面把基础的一些信息打印好了,现在我们需要实现具体的功能了即:查找图书,添加图书...,那么我如何写这些功能呢,由于用户与管理员的不同,直接以类的形式写比较麻烦,我们这里将所有的功能都以接口的形式实现,你需要哪个功能直接引用就好了。

这里我们创建一个IOperation接口里面实现一个抽象方法(work),当每个功能类引用这个接口之后,都可以用这个work方法来对书架上的书进行操作。

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

实现业务:

接下来就实现每个功能了:

AddOperation:

public class AddOperation implements IOperation{public void work(BookList bookList){System.out.println("新增图书.....");if (bookList.isFull()) {System.out.println("书架满了,不能新增图书了!!!");return;}Scanner scanner=new Scanner(System.in);System.out.println("请输入你要新增的书名:");String  bookName=scanner.nextLine();System.out.println("请输入你要新增的图书的作者:");String author=scanner.nextLine();System.out.println("请输入你要新增的图书价格:");int  price=scanner.nextInt();System.out.println("请输入你要新增的图书的类型:");String  type=scanner.nextLine();book book1=new book(bookName,author,price,type);int currentSize= bookList.getUsedSize();bookList.setBook(currentSize,book1);bookList.setUsedSize(currentSize+1);System.out.println("新增图书成功!");}
}

       这里提前给大家说一下,为了管理方法方便,我们将所有的功能都引用一个IOperation接口,后面创建一个IOperation数组,你的对象需要什么功能直接方到数组里面就好了,这样就完成了不同对象不同功能的实现。

ShowOperation

思路:给方法的参数传一个书架类型bookList,获取当前的书的个数,利用for循环进行打印,总体来说比较简单。

package Operation;import book.BookList;
import book.book;public class ShowOperation implements IOperation{public void work(BookList bookList){System.out.println("显示图书.....");int currentSize= bookList.getUsedSize();for (int i=0;i<currentSize;i++) {book book1 = bookList.getbooks(i);System.out.println(book1);}}
}

 BorrowOperation

        思路:首先还是得获取一个书架,这样才可以操作数组里的书,然后输入你要查找的书名,获取书架上书的个数,使用for循环找到你要的书,然后我们这里是将你借走后的书的状态改为true代表这本书被借走。(这里说一下寻找书的时候我们使用equls函数,用于判别两个字符串是否相同)。

package Operation;import book.BookList;import java.util.Scanner;import book.book;
public class BorrowOperation implements IOperation{public void work(BookList bookList){System.out.println("借阅图书.....");System.out.println("请输入你要借阅图书的书名:");Scanner scanner=new Scanner(System.in);String bookName=scanner.nextLine();int currentSize= bookList.getUsedSize();for(int i=0;i<currentSize;i++){book book1=bookList.getbooks(i);if(bookName.equals(book1.getName())){book1.setLend(true);System.out.println("找到你要借阅的图书了");System.out.println(book1);return;}}System.out.println("没有你要借阅的图书!");}
}

DelOperation

这里我们对于删除的理解是在这个书架上找到删除的书的下一本,然后依次往上面覆盖,这样完成的删除操作,同时,别忘了删除后一定要将图书的个数减一哦~

 比如此时我们要删除红楼梦:

package Operation;import book.BookList;
import book.book;import java.util.Scanner;public class DelOperation implements IOperation{public void work(BookList bookList){System.out.println("删除图书.....");System.out.println("请输入你要删除的书名:");Scanner scanner=new Scanner(System.in);String bookName=scanner.nextLine();int currentSize= bookList.getUsedSize();int pos=-1;for (int i=0;i<currentSize;i++) {book book1=bookList.getbooks(i);if(book1.getName().equals(bookName)){pos=i;break;}if(i>=currentSize){System.out.println("没有你要删除的图书!");return;}for (int j=pos;j<currentSize-1;j++) {book book2=bookList.getbooks(j+1);bookList.setBook(j,book2);}bookList.setUsedSize(currentSize-1);bookList.setBook(currentSize-1,null);System.out.println("删除成功!");}}
}

FindOperation

找书的业务有很多种按书名找,按作者找.....这里我们统一采用按书名去找,那么我们选择一个for循环,找到我们需要的书名,最后打印出来。

package Operation;import book.BookList;
import book.book;
import java.util.Scanner;public class FindOpertion implements IOperation{public void work(BookList bookList) {System.out.println("查找图书.....");System.out.println("请输入你要查找的图书名:");Scanner scanner = new Scanner(System.in);String bookName = scanner.nextLine();int currentSize = bookList.getUsedSize();for (int i = 0; i < currentSize; i++) {//Book book = bookList[i];book book1 = bookList.getbooks(i);if (book1.getName().equals(bookName)) {System.out.println("找到了这本书:");System.out.println(book1);return;}}System.out.println("没有你要找的书....");}
}

ReturnOperation

其实这里和借书的操作基本一致,都是先找到你要操作的书名,后面将书的状态改为false,代表这本书仍然在书架上。

package Operation;import book.BookList;
import book.book;import java.util.Scanner;public class ReturnOPeration implements IOperation{public void work(BookList bookList){System.out.println("归还图书.....");System.out.println("请输入你要归还图书的书名:");Scanner scanner=new Scanner(System.in);String bookName=scanner.nextLine();int currentSize= bookList.getUsedSize();for(int i=0;i<currentSize;i++){book book3=bookList.getbooks(i);if(bookName.equals(book3.getName())){book3.setLend(false);return;}}System.out.println("没有你要归还的图书!");return;}
}

Showoperation

查看图书也是比较简单的,我们使用for循环,将书架上面的书依次打印出来就好了。

package Operation;import book.BookList;
import book.book;public class ShowOperation implements IOperation{public void work(BookList bookList){System.out.println("显示图书.....");int currentSize= bookList.getUsedSize();for (int i=0;i<currentSize;i++) {book book1 = bookList.getbooks(i);System.out.println(book1);}}
}

http://www.15wanjia.com/news/172168.html

相关文章:

  • 四川建设厅网上查询网站首页微分销平台怎么样
  • 广州建设银行网站百度关键词搜索量查询
  • 最好的国内科技网站建设线上营销推广方式
  • 做国际网站花钱吗百度引擎搜索网址
  • 建设部网站资质顺德品牌网站建设信息
  • 珠海做快照网站电话哪些做园林的网站
  • 西安cms建站网页美工设计培训学什么
  • 大连微信网站哪里可以免费建网站
  • 上海做网站的的公司有哪些网站图片上传功能怎么做
  • 重庆最有效的网站推广建筑设计用什么软件
  • 江苏宏澄建设有限公司网站旅游网站源码下载
  • 网站建设叁金手指花总2福州小程序开发案例
  • 济南手机网站设计阜宁网站建设找哪家好
  • 电子商务网站建设与管理心得网站开发前后端分工
  • seo网站优化专家淘宝店铺装修模板免费下载
  • 网站自适应网站建设项目培训
  • 东仓建设网站成立公司的注册资本可以随便填吗
  • 图表设计网站flask做网站工具
  • 福州哪里制作网站全国企业公示信息公示网官网
  • 做企业网站找哪家微网站 举例
  • 做百度推广会送网站吗wordpress 用户增强
  • 教做奥数的网站旅游网站作用
  • 可以做策略回测的网站c 网站登录验证码怎么做
  • 南宁网站排名外包深圳深圳网站开发
  • 小说网站建立网页美工设计图片
  • 目前做哪些网站能致富商城网站开发多少钱
  • 滨海做网站哪家最好建设旅游网站目的
  • 湘潭做网站价格问下磐石网络我注册过的网站
  • 镇江市扬中市做网站陕西网站建设通报
  • 网站建设适合手机定制开发网站如何报价单