简单的图书管理系统实现要求:
1,以不同的角色进行登录(如学生,管理员)
2,管理员要求实现增加学生信息,删除学生信息,上架图书,下架图书功能
3,学生登录后实现借书,还书,查看图书功能。
实现代码
//定义图书类
public class Book {
private String name;//书名
private String writer;//作者
private boolean flag;//标记是否借出true为未借出
Book(){
}
Book(String na,String wr){
name=na;
writer=wr;
flag=true;
}
public String getName() {
return name;
}
public String getWriter() {
return writer;
}
public boolean isFlag() {
return flag;
}
public void setFlag(boolean b){
flag=b;
}
//输出图书信息
public void show(){
System.out.println(name+" "+writer+" "+flag);
}
}
//管理员类
public class Manger {
private int num;//工号
private String pwd;//密码
public Manger(){
}
public Manger(int num, String pwd) {
this.num = num;
this.pwd = pwd;
}
public int getNum() {
return num;
}
public String getPwd() {
return pwd;
}
}
//学生类
public class Student {
private String name;//姓名
private int num;//学号
public Student(int num,String name) {
this.name = name;
this.num = num;
}
public String getName() {
return name;
}
public int getNum() {
return num;
}
public void show(){
System.out.println("学号"+num+"姓名"+name);
}
}
//图书馆类
public class Libray {
private Book[] book;//用于存放图书信息
private int size=0;//图书的数量
private Student[] students;//用于存放学生信息
private int ssize=0;//学生信息记录
//构造函数
public Libray() {
book=new Book[10];
students=new Student[10];
}
//登录主界面,用于学生与管理员选择登录
public void mianLogin(){
System.out.println("1--管理员 2--学生 0--退出 ");
Scanner s1 = new Scanner(System.in);
Book[] b=new Book[10];
int ch = s1.nextInt();
while (ch != 0) {
if (ch == 1) {
mangerlogin();//进入管理员操作界面
}
if (ch == 2) {
studentlogin();//进入学生操作界面
}
System.out.println("1--管理员 2--学生 0--退出 ");
ch = s1.nextInt();
}
}
//学生操作界面,用于完成借书,还书,查询图书功能
public void studentlogin() {
System.out.println("1--借书 2--还书 3--查询图书信息 0--退出");
Scanner s1 = new Scanner(System.in);
int ch = s1.nextInt();
while (ch!=0) {
switch (ch) {
case 1:
borrow();
break;
case 2:
back();
break;
case 3:
serch();
break;
}
System.out.println("1--借书 2--还书 3--查询图书信息 0--退出");
ch = s1.nextInt();
}
}
//借书功能
public void borrow(){
System.out.println("输入借的书名");
Scanner s1=new Scanner(System.in);
String na=s1.next();
int i;
for( i=0;i<size;i++)
if(book[i].getName().equals(na)) {
book[i].setFlag(false);
System.out.println("借书成功");
break;
}
if(i==size)
System.out.println("借的书没有呀");
}
//还书功能
public void back(){
System.out.println("输入还的书名");
Scanner s1=new Scanner(System.in);
String na=s1.next();
int i;
for( i=0;i<size;i++)
if(book[i].getName().equals(na)) {
book[i].setFlag(true);
System.out.println("还书成功");
break;
}
if(i==size)
System.out.println("你可能记错了");
}
//查询功能
public void serch() {
System.out.println("输入要查询的书");
Scanner s1 = new Scanner(System.in);
String na = s1.next();
int i;
for ( i = 0; i < size; i++)
if (book[i].getName().equals(na)) {
book[i].show();
break;
}
if(i==size)
System.out.println("没有找到耶");
}
/**
管理员操作界面,用于完成注册删除学生信息,上下架图书等*
*/
public void mangerlogin() {
System.out.println("1--注册学生信息 2--删除学生信息 3--上架 4--下架 0-退出");
Scanner s1 = new Scanner(System.in);
int ch = s1.nextInt();
while(ch!=0) {
switch (ch) {
case 1:
addst();
shows();
break;
case 2:
delst();
shows();
break;
case 3:
addbook();
show();
break;
case 4:
delbook();
show();
break;
}
System.out.println("1--注册学生信息 2--删除学生信息 3--上架 4--下架 0--退出");
ch = s1.nextInt();
}
}
//注册学生信息
public void addst(){
System.out.println("输入学生学号姓名");
Scanner s1=new Scanner(System.in);
int nu=s1.nextInt();
String na=s1.next();
Student st=new Student(nu,na);
if(ssize>=students.length)
students= Arrays.copyOf(students,students.length+1);
students[ssize]=st;
ssize++;
}
//删除学生信息
public void delst(){
System.out.println("输入删除学生的学号");
Scanner s=new Scanner(System.in);
int n=s.nextInt();
for(int i=0;i<ssize;i++) {
if (this.students[i].getNum() == n) {
for (int j = i; j < ssize - 1; j++)
this.students[j] = this.students[j + 1];
ssize--;
}
}
}
上架图书
public void addbook(){
if(size>=book.length)
book=Arrays.copyOf(book,book.length+1);
System.out.println("输入上架书名和作者");
Scanner s1=new Scanner(System.in);
String na=s1.next();
String w=s1.next();
Book b1=new Book(na,w);
book[size]=b1;
size++;
}
//下架图书
public void delbook(){
System.out.println("输入下架书名");
Scanner s=new Scanner(System.in);
String n=s.next();
for(int i=0;i<size;i++) {
if (book[i].getName().equals(n)) {
for (int j = i; j < size - 1; j++)
book[j] = book[j + 1];
size--;
}
}
}
// 显示图书信息
public void show () {
for(int i=0;i<size;i++)
book[i].show();
}
//显示学生信息
public void shows() {
for (int i = 0; i < ssize; i++)
students[i].show();
}
}