用Java编写图书管理系统,编写查找方法查找不到预先存放的书籍,及其他问题
import book.*;
import user.*;
import java.util.Scanner;
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
ArrayList array = new ArrayList();
while (true) {
System.out.println("---------------欢迎来到图书系统-------------");
System.out.println("0 退出");
System.out.println("1 借阅者系统");
System.out.println("2 管理员系统");
System.out.println("-------------------------------------------");
Scanner scanner = new Scanner(System.in);
String line = scanner.nextLine();
switch (line) {
case "0":
System.out.println("谢谢使用");
System.exit(0);
break;
case "1":
System.out.println("借阅者系统");
inborrowers(array);
break;
case "2":
System.out.println("管理员系统");
inadminstrators(array);
break;
}
}
}
private static void inadminstrators(ArrayList array) {
ArrayList b = new ArrayList();
while (true) {
System.out.println("---------------欢迎来到管理员系统------------");
System.out.println("0 退出");
System.out.println("1 添加书籍");
System.out.println("2 删除书籍");
System.out.println("3 添加借阅者");
System.out.println("4 删除借阅者");
System.out.println("5 查询借阅者");
System.out.println("6 修改信息");
System.out.println("-------------------------------------------");
Scanner scanner = new Scanner(System.in);
String line = scanner.nextLine();
switch (line) {
case "0":
System.out.println("退出");
return;
case "1":
System.out.println("添加书籍");
addBooks(array);
break;
case "2":
System.out.println("删除书籍");
deleteBooks(array);
break;
case "3":
System.out.println("添加借阅者");
addUsers(array);
break;
case "4":
System.out.println("删除借阅者");
deleteUsers(array);
break;
case "5":
System.out.println("查询借阅者");
findUsers(array);
break;
case "6":
System.out.println("修改信息");
updateUsers(array);
break;
}
}
}
private static void updateUsers(ArrayList array)
{
Scanner sc = new Scanner(System.in);
System.out.println("请输入学号");
String number = sc.nextLine();
int index = -1;
Users users ;
for (int i = 0; i < array.size(); i++) {
users = array.get(i);
if (users.getID().equals((number))) {
boolean b = index == -1;
break;
}
}
if (index == -1) {
System.out.println("该学号不存在,请重新输入!");
} else {
for (int j=0;j<array.size();j++){
System.out.println("请输入新的借阅者姓名");
String name=sc.nextLine();
System.out.println("请输入借阅者的新地址");
String adderss=sc.nextLine();
Users users1=new Users();
users1.setID(number);
users1.setName(name);
users1.setAddress(adderss);
array.set(j,users1);
System.out.println("修改信息成功");
break;
}
}
}
private static void findUsers(ArrayList array) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入学号");
String number = sc.nextLine();
int index = -1;
Users users = null;
for (int i = 0; i < array.size(); i++) {
users = array.get(i);
if (users.getID().equals((number))) {
boolean b = index == -1;
break;
}
}
if (index == -1) {
System.out.println("该学号不存在,请重新输入!");
} else {
System.out.println("学号\t\t姓名\t\t电话\t\t地址");
System.out.println(users.getID() + "\t\t" + users.getName() + "\t\t" + users.getTelephone() + "\t\t" + users.getAddress());
}
}
private static void addBooks(ArrayList array) {
ArrayList c = new ArrayList();
Scanner sc = new Scanner(System.in);
String name;
String ISBN;
String author;
String time;
System.out.println("请输入书籍名称: ");
name = sc.nextLine();
System.out.println("请输入书籍序列号: ");
ISBN = sc.nextLine();
System.out.println("请输入书籍作者: ");
author = sc.nextLine();
System.out.println("请输入书籍入库时间: ");
time = sc.nextLine();
Book readers = new Book();
readers.setName(name);
readers.setISBN(ISBN);
readers.setWriter(author);
readers.setTime(time);
array.add(readers);
System.out.println("添加书籍成功");
}
private static void deleteBooks(ArrayList array) {
ArrayList c = new ArrayList();
Scanner sc = new Scanner(System.in);
System.out.println("请输入要删除的书籍序列号: ");
String ISBN = sc.nextLine();
int index = -1;
for (int i = 0; i < array.size(); i++) {
Users readers = array.get(i);
if (((Book) readers).getISBN().equals(ISBN)) {
index = i;
break;
}
}
if (index == -1) {
System.out.println("该序列号不存在,请重新输入! ");
} else {
array.remove(index);
System.out.println("删除书籍成功! ");
}
}
private static void deleteUsers(ArrayList array) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入要删除的阅读者的学号: ");
String number = sc.nextLine();
int index = -1;
for (int i = 0; i < array.size(); i++) {
Users readers = array.get(i);
if (readers.getNumber().equals(number)) {
index = i;
break;
}
}
if (index == -1) {
System.out.println("该学号不存在,请重新输入! ");
} else {
array.remove(index);
System.out.println("删除该阅读者成功! ");
}
}
public static void addUsers(ArrayList array) {
Scanner sc = new Scanner(System.in);
String name;
String ID;
String number;
String address;
String telephone;
while (true) {
System.out.println("请输入阅读者的学号: ");
number = sc.nextLine();
boolean flag = isnumber(array, number);
if (flag) {
System.out.println("您的学号已使用,请重新输入");
} else {
break;
}
}
System.out.println("请输入借阅者的姓名: ");
name = sc.nextLine();
System.out.println("请输入借阅者的身份: ");
ID = sc.nextLine();
System.out.println("请输入借阅者的地址: ");
address = sc.nextLine();
System.out.println("请输入借阅者的学号: ");
number = sc.nextLine();
System.out.println("请输入借阅者的电话: ");
telephone = sc.nextLine();
Users readers = new Users();
readers.setName(name);
readers.setID(ID);
readers.setAddress(address);
readers.setTelephone(telephone);
array.add(readers);
System.out.println("添加借阅者成功");
}
private static boolean isnumber(ArrayList array, String number) {
return false;
}
private static void inborrowers(ArrayList array) {
ArrayList b = new ArrayList();
while (true) {
System.out.println("---------------欢迎来到借阅者系统------------");
System.out.println("0 退出");
System.out.println("1 登录");
System.out.println("2 注册");
System.out.println("-------------------------------------------");
Scanner scanner = new Scanner(System.in);
String line = scanner.nextLine();
switch (line) {
case "0":
System.out.println("谢谢使用");
return;
case "1":
System.out.println("登录");
logborrowers(array);
break;
case "2":
System.out.println("注册");
newborrowers(array);
break;
}
}
}
private static void newborrowers(ArrayList array) {
//从键盘录入用户注册的账号名账号密码
Scanner sc = new Scanner(System.in);
// 为了在while外访问number
String name;
String number;
while (true) {
System.out.println("请输入学号");
number = sc.nextLine();
//创建对象,将键盘录入的数据赋值给对象中的成员变量
Users reader = new Users();
reader.setName(number);
//将对象添加到集合中,并提示成功
array.add(reader);
System.out.println("注册成功");
lborrowers(array);
boolean flag = number(array, number);
if (flag) {
System.out.println("您输入的账号名已使用,请重新输入:");
} else {
break;
}
}
}
private static boolean number(ArrayList array, String number)//看是否存在
{
boolean flag = false;
for (int i = 0; i < array.size(); i++) {
Users reader = array.get(i);
if (Users.getNumber().equals((number))) {
flag = true;
break;
}
}
return flag;
}
private static void logborrowers(ArrayList array) {
Scanner sc = new Scanner(System.in);
String number;
while (true) {
System.out.println("请输入学号");
number = sc.nextLine();
boolean flag = number(array, number);
if (flag){
lborrowers(array);
}else{
System.out.println("学号输入有误,请重新输入:");
}
}
}
private static void lborrowers(ArrayList array){
ArrayList b = new ArrayList();
ArrayList c = new ArrayList();
while (true) {
System.out.println("0 退出");
System.out.println("1 查找书籍");
System.out.println("2 预约书籍");
System.out.println("3 借阅书籍");
System.out.println("4 归还书籍");
System.out.println("-------------------------------------------");
Scanner scanner = new Scanner(System.in);
String line = scanner.nextLine();
switch (line) {
case "0":
System.out.println("退出");
inborrowers(array);
case "1":
System.out.println("查找书籍");
findBooks(array);
break;
case "2":
System.out.println("预约书籍");
appointmentBooks(array);
break;
case "3":
System.out.println("借阅书籍");
borrowBooks(array);
break;
case "4":
System.out.println("归还书籍");
returnBooks(array);
break;
}
}
}
private static void findBooks(ArrayList array) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入序列号");
String ISBN = sc.nextLine();
Book book = null;
for (int i = 0; i < array.size(); i++) {
book = (Book) array.get(i);
if (book.getISBN().equals(ISBN)) {
System.out.println(book.getISBN());
return;
}
}
}
private static void appointmentBooks (ArrayList < Users > array)
{
}
private static void borrowBooks (ArrayList < Users > array)
{
}
private static void returnBooks (ArrayList < Users > array)
{
}
}
package book;
import user.Users;
public class Book extends Users {
private String name;//书名
private String ISBN;
private String author;//作者
private String time;//入库时间
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 String getTime() {
return time;
}
public void setTime(String time) {
this.time = time;
}
public Book(String name, String ISBN, String author, String time) {
this.name = name;
this.ISBN = ISBN;
this.author= author;
this.time = time;
}
}
类
package book;
public class Booklist extends Book
{
Book books[]=new Book[100];
public Booklist()
{
books[0]=new Book("西游记","1","吴承恩","11.30");
books[1]=new Book("三国演义","2","罗贯中","11.30");
books[2]=new Book("红楼梦","3","曹雪芹","11.30");
}
public Book[] getBooks() {
return books;
}
public void setBooks(Book[] books) {
this.books = books;
}
}
package user;
public class Users
{
private String name;//姓名
private String ID;//ID号
private String telephone;//电话
private String address;//地址
private static String number;//学号
public Users(String name, String ID, String telephone, String address, String number) {
this.name = name;
this.ID = ID;
this.telephone = telephone;
this.address = address;
this.number = number;
}
public Users() {
}
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;
}
public static String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
}
照着你的简单改了一下
import java.util.Scanner;
import java.util.ArrayList;
public class Test {
static ArrayList<Users> array = new ArrayList<Users>();
static ArrayList<Book> bookArrayList = new ArrayList<Book>();
public static void main(String[] args) {
bookArrayList.add(new Book("西游记", "1", "吴承恩", "11.30"));
bookArrayList.add(new Book("三国演义", "2", "罗贯中", "11.30"));
bookArrayList.add(new Book("红楼梦", "3", "曹雪芹", "11.30"));
while (true)
{
System.out.println("---------------欢迎来到图书系统-------------");
System.out.println("0 退出");
System.out.println("1 借阅者系统");
System.out.println("2 管理员系统");
System.out.println("-------------------------------------------");
Scanner scanner = new Scanner(System.in);
String line = scanner.nextLine();
switch (line)
{
case "0":
System.out.println("谢谢使用");
System.exit(0);
break;
case "1":
System.out.println("借阅者系统");
inborrowers(array);
break;
case "2":
System.out.println("管理员系统");
inadminstrators(array);
break;
}
}
}
private static void inadminstrators(ArrayList<Users> array) {
ArrayList<Users> b = new ArrayList<Users>();
while (true)
{
System.out.println("---------------欢迎来到管理员系统------------");
System.out.println("0 退出");
System.out.println("1 添加书籍");
System.out.println("2 删除书籍");
System.out.println("3 添加借阅者");
System.out.println("4 删除借阅者");
System.out.println("5 查询借阅者");
System.out.println("6 修改信息");
System.out.println("-------------------------------------------");
Scanner scanner = new Scanner(System.in);
String line = scanner.nextLine();
switch (line)
{
case "0":
System.out.println("退出");
return;
case "1":
System.out.println("添加书籍");
addBooks(array);
break;
case "2":
System.out.println("删除书籍");
deleteBooks(array);
break;
case "3":
System.out.println("添加借阅者");
addUsers(array);
break;
case "4":
System.out.println("删除借阅者");
deleteUsers(array);
break;
case "5":
System.out.println("查询借阅者");
findUsers(array);
break;
case "6":
System.out.println("修改信息");
updateUsers(array);
break;
}
}
}
private static void updateUsers(ArrayList<Users> array) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入学号");
String number = sc.nextLine();
int index = -1;
Users users;
for (int i = 0; i < array.size(); i++)
{
users = array.get(i);
if (users.getID().equals((number)))
{
boolean b = index == -1;
break;
}
}
if (index == -1)
{
System.out.println("该学号不存在,请重新输入!");
} else
{
for (int j = 0; j < array.size(); j++)
{
System.out.println("请输入新的借阅者姓名");
String name = sc.nextLine();
System.out.println("请输入借阅者的新地址");
String adderss = sc.nextLine();
Users users1 = new Users();
users1.setID(number);
users1.setName(name);
users1.setAddress(adderss);
array.set(j, users1);
System.out.println("修改信息成功");
break;
}
}
}
private static void findUsers(ArrayList<Users> array) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入学号");
String number = sc.nextLine();
int index = -1;
Users users = null;
for (int i = 0; i < array.size(); i++)
{
users = array.get(i);
if (users.getID().equals((number)))
{
boolean b = index == -1;
break;
}
}
if (index == -1)
{
System.out.println("该学号不存在,请重新输入!");
} else
{
System.out.println("学号\t\t姓名\t\t电话\t\t地址");
System.out.println(users.getID() + "\t\t" + users.getName() + "\t\t" + users.getTelephone() + "\t\t" + users.getAddress());
}
}
private static void addBooks(ArrayList<Users> array) {
ArrayList<Book> c = new ArrayList<Book>();
Scanner sc = new Scanner(System.in);
String name;
String ISBN;
String author;
String time;
System.out.println("请输入书籍名称: ");
name = sc.nextLine();
System.out.println("请输入书籍序列号: ");
ISBN = sc.nextLine();
System.out.println("请输入书籍作者: ");
author = sc.nextLine();
System.out.println("请输入书籍入库时间: ");
time = sc.nextLine();
Book readers = new Book();
readers.setName(name);
readers.setISBN(ISBN);
readers.setWriter(author);
readers.setTime(time);
array.add(readers);
System.out.println("添加书籍成功");
}
private static void deleteBooks(ArrayList<Users> array) {
ArrayList<Book> c = new ArrayList<Book>();
Scanner sc = new Scanner(System.in);
System.out.println("请输入要删除的书籍序列号: ");
String ISBN = sc.nextLine();
int index = -1;
for (int i = 0; i < array.size(); i++)
{
Users readers = array.get(i);
if (((Book) readers).getISBN().equals(ISBN))
{
index = i;
break;
}
}
if (index == -1)
{
System.out.println("该序列号不存在,请重新输入! ");
} else
{
array.remove(index);
System.out.println("删除书籍成功! ");
}
}
private static void deleteUsers(ArrayList<Users> array) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入要删除的阅读者的学号: ");
String number = sc.nextLine();
int index = -1;
for (int i = 0; i < array.size(); i++)
{
Users readers = array.get(i);
if (readers.getNumber().equals(number))
{
index = i;
break;
}
}
if (index == -1)
{
System.out.println("该学号不存在,请重新输入! ");
} else
{
array.remove(index);
System.out.println("删除该阅读者成功! ");
}
}
public static void addUsers(ArrayList<Users> array) {
Scanner sc = new Scanner(System.in);
String name;
String ID;
String number;
String address;
String telephone;
while (true)
{
System.out.println("请输入阅读者的学号: ");
number = sc.nextLine();
boolean flag = isnumber(array, number);
if (flag)
{
System.out.println("您的学号已使用,请重新输入");
} else
{
break;
}
}
System.out.println("请输入借阅者的姓名: ");
name = sc.nextLine();
System.out.println("请输入借阅者的身份: ");
ID = sc.nextLine();
System.out.println("请输入借阅者的地址: ");
address = sc.nextLine();
System.out.println("请输入借阅者的学号: ");
number = sc.nextLine();
System.out.println("请输入借阅者的电话: ");
telephone = sc.nextLine();
Users readers = new Users();
readers.setName(name);
readers.setID(ID);
readers.setAddress(address);
readers.setTelephone(telephone);
array.add(readers);
System.out.println("添加借阅者成功");
}
private static boolean isnumber(ArrayList<Users> array, String number) {
return false;
}
private static void inborrowers(ArrayList<Users> array) {
while (true)
{
System.out.println("---------------欢迎来到借阅者系统------------");
System.out.println("0 退出");
System.out.println("1 登录");
System.out.println("2 注册");
System.out.println("-------------------------------------------");
Scanner scanner = new Scanner(System.in);
String line = scanner.nextLine();
switch (line)
{
case "0":
System.out.println("谢谢使用");
return;
case "1":
System.out.println("登录");
logborrowers(array);
break;
case "2":
System.out.println("注册");
newborrowers(array);
break;
}
}
}
private static void newborrowers(ArrayList<Users> array) {
//从键盘录入用户注册的账号名账号密码
Scanner sc = new Scanner(System.in);
// 为了在while外访问number
String name;
String number;
while (true)
{
System.out.println("请输入学号");
number = sc.nextLine();
//创建对象,将键盘录入的数据赋值给对象中的成员变量
Users reader = new Users();
reader.setName(number);
//将对象添加到集合中,并提示成功
array.add(reader);
System.out.println("注册成功");
lborrowers(array);
boolean flag = number(array, number);
if (flag)
{
System.out.println("您输入的账号名已使用,请重新输入:");
} else
{
break;
}
}
}
private static boolean number(ArrayList<Users> array, String number)//看是否存在
{
boolean flag = false;
for (int i = 0; i < array.size(); i++)
{
Users reader = array.get(i);
if (Users.getNumber().equals((number)))
{
flag = true;
break;
}
}
return flag;
}
private static void logborrowers(ArrayList<Users> array) {
Scanner sc = new Scanner(System.in);
String number;
while (true)
{
System.out.println("请输入学号");
number = sc.nextLine();
boolean flag = number(array, number);
if (flag)
{
lborrowers(array);
} else
{
System.out.println("学号输入有误,请重新输入:");
}
}
}
private static void lborrowers(ArrayList<Users> array) {
while (true)
{
System.out.println("0 退出");
System.out.println("1 查找书籍");
System.out.println("2 预约书籍");
System.out.println("3 借阅书籍");
System.out.println("4 归还书籍");
System.out.println("-------------------------------------------");
Scanner scanner = new Scanner(System.in);
String line = scanner.nextLine();
switch (line)
{
case "0":
System.out.println("退出");
inborrowers(array);
case "1":
System.out.println("查找书籍");
findBooks(array);
break;
case "2":
System.out.println("预约书籍");
appointmentBooks(array);
break;
case "3":
System.out.println("借阅书籍");
borrowBooks(array);
break;
case "4":
System.out.println("归还书籍");
returnBooks(array);
break;
}
}
}
private static void findBooks(ArrayList<Users> array) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入序列号");
String ISBN = sc.nextLine();
Book book = null;
for (int i = 0; i < bookArrayList.size(); i++)
{
book = bookArrayList.get(i);
if (book.getISBN().equals(ISBN))
{
System.out.println(book.toString());
return;
}
}
}
private static void appointmentBooks(ArrayList<Users> array) {
}
private static void borrowBooks(ArrayList<Users> array) {
}
private static void returnBooks(ArrayList<Users> array) {
}
}
class Book extends Users {
private String name;//书名
private String ISBN;
private String author;//作者
private String time;//入库时间
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 String getTime() {
return time;
}
public void setTime(String time) {
this.time = time;
}
public Book(String name, String ISBN, String author, String time) {
this.name = name;
this.ISBN = ISBN;
this.author = author;
this.time = time;
}
@Override
public String toString() {
return "Book{" +
"name='" + name + '\'' +
", ISBN='" + ISBN + '\'' +
", author='" + author + '\'' +
", time='" + time + '\'' +
'}';
}
}
class Users {
private String name;//姓名
private String ID;//ID号
private String telephone;//电话
private String address;//地址
private static String number;//学号
public Users(String name, String ID, String telephone, String address, String number) {
this.name = name;
this.ID = ID;
this.telephone = telephone;
this.address = address;
this.number = number;
}
public Users() {
}
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;
}
public static String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
}
代码有点多啊,看起来不是很方便,我这边提点查询问题的方法:
ArrayList c = new ArrayList();
这个要弄成全局的,可以放在main方法上面