1.操作完成以后,不会返回上一级菜单
2.如何实现管理员菜单的额外功能
3.请教一下注册功能怎么写
import book.;
import caozuo.;
import user.*;
import java.util.Scanner;
public class Main {
public static User login(){
System.out.println("欢迎来到图书管理系统");
System.out.println("请输入你的姓名");
Scanner scanner=new Scanner(System.in);
String name=scanner.nextLine();
System.out.println("1.用户登录 2.管理员登录");
int user=scanner.nextInt();
if (user==1){
return new Normaluser(name);
}else {
return new adminstrator(name);
}
}
public static void main(String[] args) {
Booklist booklist=new Booklist();
User user=login();
while(true) {
int choice=user.menu();
Userlist Userlist = null;
user.docaozuo(choice,booklist,Userlist);
}
}
}
package book;
public class Book {
private String name;//书名
private String ISBN;//序列号
private String author;//作者
private boolean isBorrowd;
public boolean isBorrowd() {
return isBorrowd;
}
public void setBorrowd(boolean borrowd) {
isBorrowd = borrowd;
}
public Book() {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getISBN() {
return ISBN;
}
public void setISBN(String ISBN) {
this.ISBN = ISBN;
}
public String getWriter() {
return author;
}
public void setWriter(String author) {
this.author = author;
}
public Book(String name, String ISBN, String author) {
this.name = name;
this.ISBN = ISBN;
this.author = author;
}
@Override
public String toString() {
return "Book{" +
"name='" + name + '\'' +
", ISBN='" + ISBN + '\'' +
", author='" + author + '\'' +
",isBorrowed="+
((isBorrowd==true)?"已被借阅":"未被借阅")+
'}';
}
}
package book;
public class Booklist
{
Book book[]=new Book[100];
private int usedsize;
public Booklist()
{
book[0]=new Book("西游记","1","吴承恩");
book[1]=new Book("三国演义","2","罗贯中");
book[2]=new Book("红楼梦","3","曹雪芹");
usedsize=3;
}
public int getUsedsize() {
return usedsize;
}
public void setUsedsize(int usedsize) {
this.usedsize = usedsize;
}
public Book getBook(int pos) {
return book[pos];
}
public void setBook(int pos, Book book) {
this.book[pos]=book;
}
}
package caozuo;
import book.*;
import java.util.Scanner;
public class addbook implements IOcaozuo
{
@Override
public void work(Booklist booklist) {
System.out.println("添加图书");
Scanner scanner=new Scanner(System.in);
System.out.println("请输入添加书籍的名称");
String name=scanner.nextLine();
System.out.println("请输入书籍序列号");
String ISBN=scanner.nextLine();
System.out.println("请输入作者名称");
String author=scanner.nextLine();
Book book=new Book(name,ISBN,author);
booklist.setBook(booklist.getUsedsize(),book);
System.out.println("添加成功!");
booklist.setUsedsize(booklist.getUsedsize()+1);
}
}
package caozuo;
import java.util.Scanner;
import book.Booklist;
public class borrowbook implements IOcaozuo{
@Override
public void work(Booklist booklist) {
System.out.println("借阅图书");
System.out.println("请输入你要借阅书籍的名称");
Scanner scanner=new Scanner(System.in);
String name=scanner.nextLine();
int size=booklist.getUsedsize();
for (int i=0;i<size;i++){
if (booklist.getBook(i).getName().equals(name)){
booklist.getBook(i).setBorrowd(true);
System.out.println("借阅成功");
return;
}
}
System.out.println("未找到相关书籍");
}
}
package caozuo;
import user.*;
import java.util.Scanner;
public class adduser implements POcaozuo {
@Override
public void work(Userlist userlist) {
System.out.println("添加用户");
Scanner scanner=new Scanner(System.in);
System.out.println("请输入添加用户的名称");
String name=scanner.nextLine();
System.out.println("请输入添加用户的学号");
String ID=scanner.nextLine();
System.out.println("请输入添加用户的电话");
String telephone=scanner.nextLine();
System.out.println("请输入添加用户的地址");
String address=scanner.nextLine();
Usermessage usermessage1=new Usermessage(name,ID, telephone,address);
userlist.setUsermessage(userlist.getUsedsize1(),usermessage1);
System.out.println("添加成功!");
userlist.setUsedsize1(userlist.getUsedsize1()+1);
}
}
package caozuo;
import java.util.Scanner;
import book.Book;
import book.Booklist;
public class deletebook implements IOcaozuo
{
@Override
public void work(Booklist booklist) {
System.out.println("删除图书");
System.out.println("请输入你要删除的书籍序列号");
Scanner scanner=new Scanner(System.in);
String ISBN=scanner.nextLine();
int size=booklist.getUsedsize();
boolean key=false;
for (int i=0;i<size-1;i++){
if (booklist.getBook(i).getISBN().equals(ISBN)||key==true){
Book book=booklist.getBook(i+1);
booklist.setBook(i,book);
System.out.println("该序列号不存在");
}
}
booklist.setUsedsize(booklist.getUsedsize()-1);
System.out.println("删除成功");
}
}
package caozuo;
import java.util.Scanner;
import book.Booklist;
import static java.lang.System.exit;
public class exitcaozuo implements IOcaozuo{
@Override
public void work(Booklist booklist) {
System.out.println("退出系统");
exit(1);
}
}
package caozuo;
import java.util.Scanner;
import book.Booklist;
public class findbook implements IOcaozuo {
@Override
public void work(Booklist booklist) {
System.out.println("查找图书");
System.out.println("请输入想要查找的图书名称");
Scanner scanner=new Scanner(System.in);
String name=scanner.nextLine();
int size= booklist.getUsedsize();
for (int i = 0; i < size; i++) {
if (booklist.getBook(i).getName().equals(name)) {
System.out.println(booklist.getBook(i));
return;
}
}
System.out.println("未找到你想要寻找的书");
}
}
package caozuo;
import book.Booklist;
public interface IOcaozuo
{
void work(Booklist booklist);
}
package caozuo;
import user.Userlist;
import user.Usermessage;
public interface POcaozuo {
void work(Userlist userlist);
}
package caozuo;
import java.util.Scanner;
import book.Booklist;
public class returnbook implements IOcaozuo{
@Override
public void work(Booklist booklist) {
System.out.println("归还图书");
System.out.println("请输入你要归还的图书名称");
Scanner scanner = new Scanner(System.in);
String name = scanner.nextLine();
for (int i = 0; i < booklist.getUsedsize(); i++) {
if (booklist.getBook(i).getName().equals(name)) {
booklist.getBook(i).setBorrowd(true);
System.out.println("归还成功!");
return;
}
}
System.out.println("归还失败,未找到该书籍");
}
}
package user;
import java.util.Scanner;
import caozuo.*;
public class adminstrator extends User{
public adminstrator(String name){
super(name);
this.iOcaozuos=new IOcaozuo[]{
new exitcaozuo(),
new addbook(),
new deletebook(),
new findbook(),
};
}
@Override
public int menu() {
System.out.println("0.退出系统");
System.out.println("1.添加图书");
System.out.println("2.删除图书");
System.out.println("3.查找图书");
System.out.println("4.添加用户");
System.out.println("5.删除用户");
Scanner scanner=new Scanner(System.in);
int choice=scanner.nextInt();
return choice;
}
}
package user;
import caozuo.*;
import java.util.Scanner;
public class Normaluser extends User{
public Normaluser(String name){
super(name);
this.iOcaozuos=new IOcaozuo[]{
new exitcaozuo(),
new findbook(),
new borrowbook(),
new returnbook()
};
}
@Override
public int menu() {
System.out.println("0.退出系统");
System.out.println("1.查找图书");
System.out.println("2.借阅图书");
System.out.println("3.归还图书");
Scanner scanner=new Scanner(System.in);
int choice=scanner.nextInt();
return choice;
}
}
package user;
import book.Booklist;
import caozuo.IOcaozuo;
import caozuo.POcaozuo;
public abstract class User {
protected String name;
protected IOcaozuo[] iOcaozuos;
protected POcaozuo[] pOcaozuos;
public User(String name) {
this.name = name;
}
public abstract int menu();
public void docaozuo(int choice, Booklist bookList,Userlist userlist) {
this.iOcaozuos[choice].work(bookList);
this.pOcaozuos[choice].work(userlist);
}
}
package user;
public class Userlist
{
Usermessage usermessage[]=new Usermessage[100];
private int usedsize1;
public Usermessage getUsermessage(int pos) {
return usermessage[pos];
}
public int getUsedsize1() {
return usedsize1;
}
public void setUsedsize1(int usedsize1) {
this.usedsize1 = usedsize1;
}
public void setUsermessage(int pos,Usermessage usermessage) {
this.usermessage[pos] = usermessage;
}
public void Usermessage()
{
Usermessage[] Usermessage = new Usermessage[0];
Usermessage[0]=new Usermessage("李","214010315","17728870","h3-225");
Usermessage[1]=new Usermessage("蓝","143010310","13248289","h3-225");
Usermessage[2]=new Usermessage("骆","16516465","17686096","h2-401");
usedsize1=3;
}
}
package user;
public class Usermessage {
private String name;//姓名
private String ID;//ID号
private String telephone;//电话
private String address;//地址
public Usermessage(String name, String ID, String telephone, String address) {
this.name = name;
this.ID = ID;
this.telephone = telephone;
this.address = address;
}
public Usermessage() {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getID() {
return ID;
}
public void setID(String ID) {
this.ID = ID;
}
public String getTelephone() {
return telephone;
}
public void setTelephone(String telephone) {
this.telephone = telephone;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
@Override
public String toString() {
return "Usermessage{" +
"name='" + name + '\'' +
", ID='" + ID + '\'' +
", telephone'" + telephone + '\'' +
",address"+address +'\''+
'}';
}
}
1 返回上一级菜单。
想象菜单是分层次的,
第一层其实是for循环显示菜单,第二层是在循环菜单里面进行操作,在菜单里面调用进行具体操作,返回上一次菜单就是return。
3.添加新用户就是添加新的用户对象,并保存起来就行了。