建立了一个“图书管理系统”包
包下有total、book_information、reader_information、book_lending 四个类
分别实现总控制表、图书信息表,读者信息表,图书借阅表三个表的功能
目录
1.添加(书号、书名、作者、出版社、出版日期、存馆数量、定价)
4.修改(根据书号、书名进行修改图书信息操作)和删除(据书号、书名进行删除图书信息操作)
1.图书借阅登记(借阅者学号、借阅者姓名、图书书号、图书书名、借阅日期、应还日期、实际归还日期)
3.图书借阅查询(可根据借阅者学号、图书书号、借阅者学院进行查询)
1.总类
在总类中可选择进入图书信息表、读者信息表、图书借阅表,可退出图书管理系统。
package 图书管理系统;
import java.io.IOException;
import java.util.Scanner;
public class total {
public static void main(String[]args) throws IOException {
System.out.println("亲爱的图书管理员,欢迎来到图书管理系统!");
System.out.println("图书管理系统有如下表:");
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);
while(true){
System.out.println("请输入你要进行操作的表的序号:");
int a=scanner.nextInt();
switch(a){
case 1:
book_information.main(args);
break;
case 2:
reader_information.main(args);
break;
case 3:
book_lending.main(args);
break;
case 4:
System.out.println("退出成功!欢迎下次使用!");
return;
}
}
}
}
2.图书信息表
1.添加(书号、书名、作者、出版社、出版日期、存馆数量、定价)
2.查询(可根据书名、作者名、出版社分别查询)
3.排序(根据书号、书名排序)
4.修改(根据书号、书名进行修改图书信息操作)和删除(据书号、书名进行删除图书信息操作)
5.退出图书信息表
package 图书管理系统;
import sun.swing.BakedArrayList;
import java.io.*;
import java.text.Collator;
import java.util.*;
public class book_information {
public static void main(String[] args) throws IOException {
Scanner scanner = new Scanner(System.in);
System.out.println("欢迎进入图书信息表!");
System.out.println("您可进行以下操作:");
System.out.println("1.图书信息添加");
System.out.println("2.图书信息查询");
System.out.println("3.图书信息排序");
System.out.println("4.图书信息修改和删除");
System.out.println("5.退出图书信息表");
System.out.println("**********************");
int a;
while (true) {
System.out.println("请输入你要进行的操作的序号:");
a = scanner.nextInt();
switch (a) {
case 1://添加
BufferedWriter bw = new BufferedWriter(new FileWriter("book_information.txt", true));
List<book> arr = new ArrayList<>();
System.out.println("请输入书号:");
String id = scanner.next();
System.out.println("请输入书名:");
String name = scanner.next();
System.out.println("请输入作者:");
String writer = scanner.next();
System.out.println("请输入出版社:");
String press = scanner.next();
System.out.println("请输入出版日期:");
String date = scanner.next();
System.out.println("请输入存馆数量:");
int number = scanner.nextInt();
System.out.println("请输入定价:");
double price = scanner.nextDouble();
book b = new book(id, name, writer, press, date, number, price);
arr.add(b);
for (book i : arr) {
bw.write(i.id + "," + i.name + "," + i.writer + "," + i.press + "," + i.date + "," + i.number + "," + i.price);
bw.newLine();
bw.flush();
}
System.out.println("添加成功!");
bw.close();
break;
case 2://查询
System.out.println("请输入你要查询的书的(1.书名,2.作者名,3.出版社)的序号");
int c = scanner.nextInt();
switch (c) {
case 1:
System.out.println("请输入要查询的书名:");
String s_name = scanner.next();
BufferedReader br = new BufferedReader(new FileReader("book_information.txt"));
String lines;
while ((lines = br.readLine()) != null) {
String single = lines.split(",")[1];
if (Objects.equals(single, s_name)) {
System.out.println("该书所有信息如下");
System.out.println(lines);
}
}
br.close();
break;
case 2:
System.out.println("请输入要查询的作者名:");
String r_name = scanner.next();
BufferedReader br2 = new BufferedReader(new FileReader("book_information.txt"));
String lines2;
while ((lines2 = br2.readLine()) != null) {
String single = lines2.split(",")[2];
if (Objects.equals(single, r_name)) {
System.out.println("该书所有信息如下");
System.out.println(lines2);
}
}
br2.close();
break;
case 3:
System.out.println("请输入要查询的出版社:");
String c_name = scanner.next();
BufferedReader br3 = new BufferedReader(new FileReader("book_information.txt"));
String lines3;
while ((lines3 = br3.readLine()) != null) {
String single = lines3.split(",")[3];
if (Objects.equals(single, c_name)) {
System.out.println("该书所有信息如下");
System.out.println(lines3);
}
}
br3.close();
break;
}
break;
case 3://排序
System.out.println("请输入你要按何种顺序排序(1.书号,2.书名):");
int d = scanner.nextInt();
switch (d) {
case 1:
BufferedReader br = new BufferedReader(new FileReader("book_information.txt"));
List<book> arr3 = new ArrayList<>();
List<String> al = new ArrayList<>();
String lines;
while ((lines = br.readLine()) != null) {
book m_book = new book("0", "0", "0", "0", "0", 0, 0);
m_book.setId(lines.split(",")[0]);
m_book.setName(lines.split(",")[1]);
m_book.setWriter(lines.split(",")[2]);
m_book.setPress(lines.split(",")[3]);
m_book.setDate(lines.split(",")[4]);
m_book.setNumber(Integer.parseInt(lines.split(",")[5]));
m_book.setPrice(Double.parseDouble(lines.split(",")[6]));
arr3.add(m_book);
al.add(m_book.id);
}
br.close();
al.sort(new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
int a = 0;
for (int i = 0; i < o1.length(); i++) {
if (o1.charAt(i) != o2.charAt(i)) {
a = i;
break;
}
}
return o1.charAt(a) - o2.charAt(a);
}
});
BufferedWriter bw3 = new BufferedWriter(new FileWriter("book_information.txt"));
for (String s : al) {
for (book w : arr3) {
if (Objects.equals(w.id, s)) {
bw3.write(w.id + "," + w.name + "," + w.writer + "," + w.press + "," + w.date + "," + w.number + "," + w.price);
bw3.newLine();
bw3.flush();
}
}
}
bw3.close();
break;
case 2:
BufferedReader br2 = new BufferedReader(new FileReader("book_information.txt"));
List<book> arr3_2 = new ArrayList<>();
List<String> al2 = new ArrayList<>();
String lines2;
while ((lines2 = br2.readLine()) != null) {
book m_book = new book("0", "0", "0", "0", "0", 0, 0);
m_book.setId(lines2.split(",")[0]);
m_book.setName(lines2.split(",")[1]);
m_book.setWriter(lines2.split(",")[2]);
m_book.setPress(lines2.split(",")[3]);
m_book.setDate(lines2.split(",")[4]);
m_book.setNumber(Integer.parseInt(lines2.split(",")[5]));
m_book.setPrice(Double.parseDouble(lines2.split(",")[6]));
arr3_2.add(m_book);
al2.add(m_book.name);
}
br2.close();
Collator china = Collator.getInstance(Locale.CHINA);
al2.sort(china);
BufferedWriter bw3_2 = new BufferedWriter(new FileWriter("book_information.txt"));
for (String s : al2) {
for (book w : arr3_2) {
if (Objects.equals(w.name, s)) {
bw3_2.write(w.id + "," + w.name + "," + w.writer + "," + w.press + "," + w.date + "," + w.number + "," + w.price);
bw3_2.newLine();
bw3_2.flush();
}
}
}
bw3_2.close();
break;
}
break;
case 4://修改或删除
System.out.println("请输入你要进行的操作(1.修改,2.删除):");
int e = scanner.nextInt();
switch (e) {
case 1:
System.out.println("请输入你要修改的书籍的信息(1.书号,2.书名):");
int x = scanner.nextInt();
switch (x) {
case 1:
System.out.println("请输入书号:");
String m_id = scanner.next();
BufferedReader br = new BufferedReader(new FileReader("book_information.txt"));
List<String> arr4 = new ArrayList<>();
String lines;
while ((lines = br.readLine()) != null) {
if (Objects.equals(lines.split(",")[0], m_id)) {
System.out.println("该图书信息如下:");
System.out.println(lines);
System.out.print("请输入修改后的书号:");
String str_id = scanner.next();
System.out.print("请输入修改后的书名:");
String str_name = scanner.next();
System.out.print("请输入修改后的作者:");
String str_writer = scanner.next();
System.out.print("请输入修改后的出版社:");
String str_press = scanner.next();
System.out.print("请输入修改后的出版日期:");
String str_date = scanner.next();
System.out.print("请输入修改后的存馆数量:");
int i_number = scanner.nextInt();
System.out.print("请输入修改后的定价:");
double i_price = scanner.nextDouble();
lines = str_id + "," + str_name + "," + str_writer + "," + str_press + "," + str_date + "," + i_number + "," + i_price;
}
arr4.add(lines);
}
br.close();
BufferedWriter bw4 = new BufferedWriter(new FileWriter("book_information.txt"));
for (String s : arr4) {
bw4.write(s);
bw4.newLine();
bw4.flush();
}
bw4.close();
break;
case 2:
System.out.println("请输入书名:");
String m_name = scanner.next();
BufferedReader br1 = new BufferedReader(new FileReader("book_information.txt"));
List<String> arr4_1 = new ArrayList<>();
String lines1;
while ((lines1 = br1.readLine()) != null) {
if (Objects.equals(lines1.split(",")[1], m_name)) {
System.out.println("该图书信息如下:");
System.out.println(lines1);
System.out.print("请输入修改后的书号:");
String str_id = scanner.next();
System.out.print("请输入修改后的书名:");
String str_name = scanner.next();
System.out.print("请输入修改后的作者:");
String str_writer = scanner.next();
System.out.print("请输入修改后的出版社:");
String str_press = scanner.next();
System.out.print("请输入修改后的出版日期(:");
String str_date = scanner.next();
System.out.print("请输入修改后的存馆数量:");
int i_number = scanner.nextInt();
System.out.print("请输入修改后的定价:");
double i_price = scanner.nextDouble();
lines1 = str_id + "," + str_name + "," + str_writer + "," + str_press + "," + str_date + "," + i_number + "," + i_price;
}
arr4_1.add(lines1);
}
br1.close();
BufferedWriter bw4_1 = new BufferedWriter(new FileWriter("book_information.txt"));
for (String s : arr4_1) {
bw4_1.write(s);
bw4_1.newLine();
bw4_1.flush();
}
bw4_1.close();
}
break;
case 2:
System.out.println("请输入你要删除的书籍的信息的(1.书号,2.书名)序号:");
int f=scanner.nextInt();
switch(f){
case 1:
System.out.print("请输入你要删除的图书的书号:");
String str= scanner.next();
BufferedReader br5=new BufferedReader(new FileReader("book_information.txt"));
List<String>arr5=new ArrayList<>();
String lines5;
while((lines5=br5.readLine())!=null){
arr5.add(lines5);
if(Objects.equals(lines5.split(",")[0], str)){
System.out.println("你要删除的图书的所有信息如下:");
System.out.println(lines5);
arr5.remove(lines5);
System.out.println("删除成功!");
}
}
br5.close();
BufferedWriter bw5=new BufferedWriter(new FileWriter("book_information.txt"));
for(String s:arr5){
bw5.write(s);
bw5.newLine();
bw5.flush();
}
bw5.close();
break;
case 2:
System.out.print("请输入你要删除的图书的书名:");
String str1= scanner.next();
BufferedReader br5_1=new BufferedReader(new FileReader("book_information.txt"));
List<String>arr5_1=new ArrayList<>();
String lines5_1;
while((lines5_1=br5_1.readLine())!=null){
arr5_1.add(lines5_1);
if(Objects.equals(lines5_1.split(",")[1], str1)){
System.out.println("你要删除的图书的所有信息如下:");
System.out.println(lines5_1);
arr5_1.remove(lines5_1);
System.out.println("删除成功!");
}
}
br5_1.close();
BufferedWriter bw5_1=new BufferedWriter(new FileWriter("book_information.txt"));
for(String s:arr5_1){
bw5_1.write(s);
bw5_1.newLine();
bw5_1.flush();
}
bw5_1.close();
break;
}
break;
}
break;
case 5:
System.out.println("成功退出!欢迎下次使用图书信息表!");
return;
}
}
}
public static class book {
private String id;
private String name;
private String writer;
private String press;
private String date;
private int number;
private double price;
public book(String id, String name, String writer, String press, String date, int number, double price) {
this.id = id;
this.name = name;
this.writer = writer;
this.press = press;
this.date = date;
this.number = number;
this.price = price;
}
public void setId(String id) {
this.id = id;
}
public void setName(String name) {
this.name = name;
}
public void setWriter(String writer) {
this.writer = writer;
}
public void setPress(String press) {
this.press = press;
}
public void setDate(String date) {
this.date = date;
}
public void setNumber(int number) {
this.number = number;
}
public void setPrice(double price) {
this.price = price;
}
}
}
3.读者信息表
1.读者信息添加(学号、姓名、学院、专业班级)
2.读者信息查询(可根据学号、姓名、专业班级进行查询)
3.读者信息排序(可根据学号、学院进行排序)
4.读者信息修改和删除(均根据学号+姓名的方式进行操作)
5.退出读者信息表
package 图书管理系统;
import java.io.*;
import java.lang.reflect.Array;
import java.text.Collator;
import java.util.*;
public class reader_information {
public static void main(String[] args) throws IOException {
Scanner scanner = new Scanner(System.in);
System.out.println("欢迎进入读者信息表!");
System.out.println("您可进行以下操作:");
System.out.println("1.读者信息添加");
System.out.println("2.读者信息查询");
System.out.println("3.读者信息排序");
System.out.println("4.读者信息修改和删除");
System.out.println("5.退出读者信息表");
System.out.println("**********************");
int b;
while(true){
System.out.println("请输入你要进行的操作的序号:");
b = scanner.nextInt();
switch (b) {
case 1://添加读者信息
BufferedWriter bw = new BufferedWriter(new FileWriter("reader_information.txt",true));
List<reader> arr = new ArrayList<>();
System.out.print("请输入学号:");
String id = scanner.next();
System.out.print("请输入姓名:");
String name = scanner.next();
System.out.print("请输入学院:");
String college = scanner.next();
System.out.print("请输入专业班级:");
String professional_class = scanner.next();
reader r = new reader(id, name, college, professional_class);
arr.add(r);
for (reader i : arr) {
bw.write(i.id + "," + i.name + "," + i.college + "," + i.professional_class);
bw.newLine();
}
System.out.println("添加成功!");
bw.close();
break;
case 2://查询读者信息
System.out.println("请输入你要查找人的(1.学号,2.姓名,3.专业班级)的序号:");
int c = scanner.nextInt();
switch (c) {
case 1:
System.out.print("请输入学号:");
String id1 = scanner.next();
BufferedReader br1 = new BufferedReader(new FileReader("reader_information.txt"));
String line1;
while ((line1 = br1.readLine()) != null) {
String[] str = line1.split(",");
if (Objects.equals(str[0], id1)) {
System.out.println("读者信息如下:");
System.out.println(line1);
}
}break;
case 2:
System.out.print("请输入姓名:");
String id2 = scanner.next();
BufferedReader br2 = new BufferedReader(new FileReader("reader_information.txt"));
String line2;
while ((line2 = br2.readLine()) != null) {
String[] str = line2.split(",");
if (Objects.equals(str[1], id2)) {
System.out.println("读者信息如下:");
System.out.println(line2);
}
}break;
case 3:
System.out.print("请输入专业班级:");
String id3= scanner.next();
BufferedReader br3 = new BufferedReader(new FileReader("reader_information.txt"));
String line3;
while ((line3 = br3.readLine()) != null) {
String[] str = line3.split(",");
if (Objects.equals(str[3], id3)) {
System.out.println("读者信息如下:");
System.out.println(line3);
}
}break;
}break;
case 3://排序
System.out.println("请输入您要按何种顺序排序(1.学号,2.学院):");
int c1= scanner.nextInt();
switch(c1){
case 1://按学号进行排序
BufferedReader br = new BufferedReader(new FileReader("reader_information.txt"));
List<reader> arr3 = new ArrayList<>();
List<String> al = new ArrayList<>();
String lines;
while ((lines = br.readLine()) != null) {
reader read= new reader("0", "0", "0", "0");
read.id=(lines.split(",")[0]);
read.name=(lines.split(",")[1]);
read.college=(lines.split(",")[2]);
read.professional_class=(lines.split(",")[3]);
arr3.add(read);
al.add(read.id);
}
br.close();
al.sort(new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
int a = 0;
for (int i = 0; i < o1.length(); i++) {
if (o1.charAt(i) != o2.charAt(i)) {
a = i;
break;
}
}
return o1.charAt(a) - o2.charAt(a);
}
});
BufferedWriter bw3 = new BufferedWriter(new FileWriter("reader_information.txt"));
for (String s : al) {
for (reader re : arr3) {
if (Objects.equals(re.id, s)) {
bw3.write(re.id + "," + re.name + "," + re.college + "," + re.professional_class );
bw3.newLine();
bw3.flush();
}
}
}
bw3.close();
break;
case 2://按学院进行排序
//读读者信息表
BufferedReader br32=new BufferedReader(new FileReader("reader_information.txt"));
//List<String> arr32=new ArrayList<>();
String line32;
ArrayList<String> l2=new ArrayList<>();
List<reader>list=new ArrayList<>();
while((line32= br32.readLine())!=null){
reader m_reader = new reader("0", "0", "0", "0");
m_reader.id=(line32.split(",")[0]);
m_reader.name=(line32.split(",")[1]);
m_reader.college=(line32.split(",")[2]);
m_reader.professional_class=(line32.split(",")[3]);
list.add(m_reader);
l2.add(m_reader.college);
}
LinkedHashSet<String> hash=new LinkedHashSet<>(l2);
ArrayList<String>l3=new ArrayList<>(hash);
br32.close();
//按首字母排序
Collator china=Collator.getInstance(Locale.CHINA);
l3.sort(china);
BufferedWriter bw32=new BufferedWriter(new FileWriter("reader_information.txt"));
for(String s3:l3){
//写读者信息表
for (reader m_r : list) {
if (Objects.equals(m_r.college, s3)) {
bw32.write(m_r.id + "," + m_r.name + "," + m_r.college + "," + m_r.professional_class);
bw32.newLine();
bw32.flush();
}
}
}
bw32.close();
break;
}
break;
case 4://删除和修改
System.out.println("请输入您要进行的操作的序号(1.修改,2.删除):");
int c4=scanner.nextInt();
switch(c4){
case 1:
System.out.println("请输入学号,姓名(格式为“学号,姓名”)【英文逗号】:");
String in=scanner.next();
BufferedReader br4=new BufferedReader(new FileReader("reader_information.txt"));
List<String>array=new ArrayList<>();
String line4;
while((line4=br4.readLine())!=null){
array.add(line4);
String[]str=line4.split(",");
if(Objects.equals(in, str[0] + "," + str[1])) {
System.out.println("读者信息如下:");
System.out.println(line4);
System.out.println("请输入修改后的学号");
str[0]=scanner.next();
System.out.println("请输入修改后的姓名");
str[1]=scanner.next();
System.out.println("请输入修改后的学院");
str[2]=scanner.next();
System.out.println("请输入修改后的专业班级");
str[3]=scanner.next();
array.remove(line4);
String lineh4=str[0]+","+str[1]+","+str[2]+","+str[3];
array.add(lineh4);
}
BufferedWriter bw4=new BufferedWriter(new FileWriter("reader_information.txt"));
for(String s4:array){
bw4.write(s4);
bw4.newLine();
bw4.flush();
}
bw4.close();
}
br4.close();
break;
case 2:
System.out.println("请输入学号,姓名(格式为“学号,姓名”)【英文逗号】:");
String in1=scanner.next();
BufferedReader br4_1=new BufferedReader(new FileReader("reader_information.txt"));
List<String>array1=new ArrayList<>();
String line4_1;
while((line4_1=br4_1.readLine())!=null){
array1.add(line4_1);
String[]str=line4_1.split(",");
if(Objects.equals(in1, str[0] + "," + str[1])) {
System.out.println("读者信息如下:");
System.out.println(line4_1);
array1.remove(line4_1);
System.out.println("删除成功!");
}
BufferedWriter bw4=new BufferedWriter(new FileWriter("reader_information.txt"));
for(String s4:array1){
bw4.write(s4);
bw4.newLine();
bw4.flush();
}
bw4.close();
}
br4_1.close();
break;
}
break;
case 5:
System.out.println("成功退出!欢迎下次使用读者信息表!");
return;
}
}
}
public static class reader {
private String id;
private String name;
private String college;
private String professional_class;
public reader(String id, String name, String college, String professional_class) {
this.id = id;
this.name = name;
this.college = college;
this.professional_class = professional_class;
}
}
}
4.图书借阅表
1.图书借阅登记(借阅者学号、借阅者姓名、图书书号、图书书名、借阅日期、应还日期、实际归还日期)
2.图书归还登记(输入借阅者学号以及图书书号即可归还)
3.图书借阅查询(可根据借阅者学号、图书书号、借阅者学院进行查询)
4.退出图书借阅表
package 图书管理系统;
import com.sun.corba.se.impl.orbutil.ObjectWriter;
import java.io.*;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.*;
public class book_lending {
public static void main(String[]args) throws IOException {
//表头
System.out.println("欢迎进入图书借阅表!");
System.out.println("您可进行以下操作:");
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);
while(true){
System.out.println("请输入你要进行的操作的序号:");
int a=scanner.nextInt();
switch(a){
case 1://1.图书借阅登记
System.out.print("请输入读者学号:");
String r_id=scanner.next();
//读出读者信息表中的内容
BufferedReader brr=new BufferedReader(new FileReader("reader_information.txt"));
String line_r;
while((line_r=brr.readLine())!=null){
if(Objects.equals(line_r.split(",")[0], r_id)){
System.out.println("可以借阅!");
}
}
brr.close();
System.out.print("请输入图书书号:");
String b_id=scanner.next();
BufferedReader bri=new BufferedReader(new FileReader("book_information.txt"));
BufferedWriter bwl=new BufferedWriter(new FileWriter("book_lending.txt",true));
String line;
List<String> arr=new ArrayList<>();
List<lending>arr1=new ArrayList<>();
while((line=bri.readLine())!=null){
if(Objects.equals(b_id, line.split(",")[0])){
int s=Integer.parseInt(line.split(",")[5]);
System.out.println("该图书存馆数量为:");
System.out.println(s);
if(s>0){
System.out.println("可以借阅");
s-=1;
line=line.replaceAll(line.split(",")[5],Integer.toString(s));
arr.add(line);
System.out.print("请输入借阅者姓名:");
String name=scanner.next();
String book_name=line.split(",")[1];
System.out.print("请输入应还日期:");
String ying_date=scanner.next();
DateFormat df=new SimpleDateFormat("yyyy年MM月dd日");
String jie_date=df.format(new Date());
String return_date=" ";
lending lend=new lending(r_id,name,b_id,book_name,jie_date,ying_date,return_date);
arr1.add(lend);
}
else{
System.out.println("不可借阅");
return;
}
for(lending l:arr1){
bwl.write(l.r_id+","+l.r_name+","+l.b_id+","+l.b_name+","+l.borrow_date+","+l.y_return_date+","+l.s_return_date);
bwl.newLine();
bwl.flush();
}
bwl.close();
}
else{
arr.add(line);
}
}bri.close();
BufferedWriter bwi=new BufferedWriter(new FileWriter("book_information.txt"));
for(String s:arr){
//System.out.println(s);
bwi.write(s);
bwi.newLine();
bwi.flush();
}
bwi.close();
break;
case 2://2.图书归还登记
System.out.print("请输入归还读者学号:");
String r_id_h=scanner.next();
System.out.print("请输入归还图书书号:");
String b_id_h=scanner.next();
//读出图书信息表中的内容
BufferedReader brl_h=new BufferedReader(new FileReader("book_lending.txt"));
ArrayList<lending>arr1_h=new ArrayList<>();
String s_h;
while((s_h=brl_h.readLine())!=null){
lending lend_h=new lending(s_h.split(",")[0],s_h.split(",")[1],s_h.split(",")[2],s_h.split(",")[3],s_h.split(",")[4],s_h.split(",")[5],s_h.split(",")[6]);
arr1_h.add(lend_h);
//System.out.println(lend_h.r_id+lend_h.r_name+lend_h.b_id+lend_h.b_name+lend_h.borrow_date+lend_h.y_return_date+lend_h.s_return_date);
}
brl_h.close();
//写图书借阅表
BufferedWriter bwl_h=new BufferedWriter(new FileWriter("book_lending.txt"));
for(lending l_h:arr1_h){
//System.out.println(l_h.r_id+","+l_h.r_name+","+l_h.b_id+","+l_h.b_name+","+l_h.borrow_date+","+l_h.y_return_date+","+l_h.s_return_date);
if(Objects.equals(l_h.b_id, b_id_h)&&Objects.equals(l_h.r_id, r_id_h)){
DateFormat df=new SimpleDateFormat("yyyy年MM月dd日");
l_h.s_return_date=df.format(new Date());
}
bwl_h.write(l_h.r_id+","+l_h.r_name+","+l_h.b_id+","+l_h.b_name+","+l_h.borrow_date+","+l_h.y_return_date+","+l_h.s_return_date);
bwl_h.newLine();
bwl_h.flush();
}
bwl_h.close();
//读图书信息表
BufferedReader br_h=new BufferedReader(new FileReader("book_information.txt"));
ArrayList<String>arr_h=new ArrayList<>();
String line_h;
while((line_h=br_h.readLine())!=null){
if(Objects.equals(line_h.split(",")[0],b_id_h)){
int s=Integer.parseInt(line_h.split(",")[5]);
s+=1;
line_h=line_h.replaceAll(line_h.split(",")[5],Integer.toString(s));
arr_h.add(line_h);
}
else
{
arr_h.add(line_h);
}
}
br_h.close();
//写图书信息表
BufferedWriter bw_h=new BufferedWriter(new FileWriter("book_information.txt"));
for(String a_h:arr_h){
bw_h.write(a_h);
bw_h.newLine();
bw_h.flush();
}
bw_h.close();
System.out.println("归还成功!");
break;
case 3://3.图书借阅查询
System.out.println("请输入你要按何种方式进行查询(1.学号,2.书号,3.学院):");
int x=scanner.nextInt();
switch(x){
case 1:
System.out.print("请输入学号:");
String r_id_c=scanner.next();
BufferedReader br_c=new BufferedReader(new FileReader("book_lending.txt"));
String line_c;
System.out.println("此图书借阅所有信息如下:");
while((line_c=br_c.readLine())!=null){
if(Objects.equals(r_id_c, line_c.split(",")[0])){
System.out.println(line_c);
}
}
break;
case 2:
System.out.print("请输入书号:");
String b_id_c=scanner.next();
BufferedReader br_c1=new BufferedReader(new FileReader("book_lending.txt"));
String line_c1;
System.out.println("此图书借阅所有信息如下:");
while((line_c1=br_c1.readLine())!=null){
if(Objects.equals(b_id_c, line_c1.split(",")[2])){
System.out.println(line_c1);
}
}
break;
case 3:
System.out.print("请输入学院:");
String b_college_c=scanner.next();
BufferedReader br_c2=new BufferedReader(new FileReader("reader_information.txt"));
ArrayList<String> list=new ArrayList<>();
String line_c2;
System.out.println("此图书借阅所有信息如下:");
while((line_c2=br_c2.readLine())!=null){
if(Objects.equals(b_college_c, line_c2.split(",")[2])){
list.add(line_c2);
}
}
BufferedReader br_c3=new BufferedReader(new FileReader("book_lending.txt"));
String ss;
ArrayList<String>list1=new ArrayList<>();
while((ss=br_c3.readLine())!=null){
list1.add(ss);
}
for(String i:list){
for(String j:list1){
if(Objects.equals(i.split(",")[0], j.split(",")[0])){
System.out.println(j);
}
}
}
break;
}
break;
case 4://4.退出图书借阅表
System.out.println("成功退出!欢迎下次使用图书借阅表!");
return;
}
}
}
public static class lending implements Serializable{
private final String r_id;//读者学号
private final String r_name;//读者姓名
private final String b_id;//图书书号
private final String b_name;//图书名
private final String borrow_date;//借出日期
private final String y_return_date;//应还日期
private String s_return_date;//实际归还日期
public lending(String r_id,String r_name,String b_id,String b_name,String borrow_date,String y_return_date,String s_return_date){
this.r_id=r_id;
this.r_name=r_name;
this.b_id=b_id;
this.b_name=b_name;
this.borrow_date=borrow_date;
this.y_return_date=y_return_date;
this.s_return_date=s_return_date;
}
}
}