分析项目结构
在bean包中分别有Book类,Readin类,Booklook类分别代表图书信息类,读者信息类,图书阅览表
在file软件包中youFileBook,FileBooklook,FileReadin分别是用来操作三个对相应的文件
在service软件包中有BooklookSerive,BookSerive,ReadSerive分别是进行不同的操作功能
在util软件包中有CMDUtil,Person,Person1三个类,CMDUtil是用来接受控制台的数据,Person是代表普通用户登录的类,Person1是管理员登录的类
在view软件包中有Library登录界面类,Root管理员工具类,Test测试类,User普通用户功能类
图书添加功能
public void addbook(){
Book c = new Book();
System.out.println("--------请您输入基本信息--------");
System.out.println("请输入书号");
String id = CMDUtil.getString();
c.setId(id);
System.out.println("请输入书名");
String name = CMDUtil.getString();
c.setName(name);
System.out.println("请输入作者");
String author = CMDUtil.getString();
c.setAuthor(author);
System.out.println("请输入出版社");
String cbs = CMDUtil.getString();
c.setCbs(cbs);;
System.out.println("请输入出版日期");
String date = CMDUtil.getString();
c.setDate(date);
System.out.println("请输入存馆数量");
int sum = CMDUtil.getInt();
c.setsum(sum);
System.out.println("请输入定价");
int price = CMDUtil.getInt();
c.setPrice(price);
FileBook fr = new FileBook();
fr.add(c);
System.out.println("--------添加成功--------");
}
public void add() {
boolean flag = false;
Bookservice bs = new Bookservice();
bs.addbook();
flag = true;
if (flag != false) {
System.out.println("添加失败");
}
}
图书删除功能
public boolean deleteBook(String id){
boolean b = false;
FileBook f = new FileBook();
//从文件中拿到信息
List l = f.selectBook();
for(int i = 0;i<l.size();i++){
//判断是否有一个id跟参数相同
Book c = (Book) l.get(i);
if(c.getId() == id){
//如果相同则从集合中删除该元素
l.remove(i);
b = true;
}
}
//把集合保存到文件系统中
f.saveBook(l);
return b;
}
public boolean deleteBook(String id){
boolean b = false;
FileBook f = new FileBook();
//从文件中拿到信息
List l = f.selectBook();
for(int i = 0;i<l.size();i++){
//判断是否有一个id跟参数相同
Book c = (Book) l.get(i);
if(c.getId() == id){
//如果相同则从集合中删除该元素
l.remove(i);
b = true;
}
}
//把集合保存到文件系统中
f.saveBook(l);
return b;
}
图书修改功能
public void xg() {
System.out.println("--------请您输入需要修改的图书ID--------");
String id = CMDUtil.getString();
Book c = new Book();//获取ID
c.setId(id);
System.out.println("--------请您输入基本信息--------");
System.out.println("请输入书名");
String name = CMDUtil.getString();
c.setName(name);
System.out.println("请输入作者");
String author = CMDUtil.getString();
c.setAuthor(author);
System.out.println("请输入出版社");
String cbs = CMDUtil.getString();
c.setCbs(cbs);
System.out.println("请输入出版日期");
String date= CMDUtil.getString();
c.setDate(date);
System.out.println("请输入存馆数量");
int sum = CMDUtil.getInt();
c.setsum(sum);
System.out.println("请输入定价");
double price = CMDUtil.getDouble();
c.setPrice(price);
Bookservice cs = new Bookservice();
boolean b = cs.updateBook(c);
if(b){
System.out.println("修改成功");
}
//输出修改后的信息
System.out.println("修改成功");
Book temp = cs.findId(id);
}
public boolean updateBook(Book c){
boolean b = false;
FileBook f = new FileBook();
List l = f.selectBook();
for(int i =0;i<l.size();i++){
Book temp = (Book)l.get(i);
if(temp.getId() == c.getId()){
c.setName(temp.getName());
c.setAuthor(temp.getAuthor());
c.setCbs(temp.getcbs());
c.setDate(temp.getDate());
c.setsum(temp.getsum());
c.setPrice(temp.getPrice());
b = true;
}
}
f.saveBook(l);//保存到文件系统中
return b;
}
图书查询功能
public void select() {
System.out.println("请输入书名进行查询:");
String name = CMDUtil.getString();
Bookservice cs = new Bookservice();
Book temp = cs.findName(name);
if(temp != null){
System.out.println(temp.getId()+","+temp.getName()+","+temp.getAuthor()+","+temp.getcbs()+","+temp.getDate()+","+temp.getsum()+","+temp.getPrice()+",");
}else{
System.out.println("暂时没有此书!");
}
}
public Book findId(String id){
Book c = null;
FileBook f = new FileBook();
List l = f.selectBook();
for(int i = 0;i<l.size();i++){
Book temp = (Book)l.get(i);
if(temp.getId() == id){
c = new Book();
c.setId(id);
c.setName(temp.getName());
c.setAuthor(temp.getAuthor());
c.setCbs(temp.getcbs());
c.setDate(temp.getDate());
c.setsum(temp.getsum());
c.setPrice(temp.getPrice());
}
}
return c;
}
//根据书名查找
public Book findName(String name){
Book c = null;
FileBook f = new FileBook();
List l = f.selectBook();
for(int i = 0;i<l.size();i++){
Book temp = (Book)l.get(i);
if(temp.getName().equals(name)){
c = new Book();
c.setId(temp.getId());
c.setName(temp.getName());
c.setAuthor(temp.getAuthor());
c.setCbs(temp.getcbs());
c.setDate(temp.getDate());
c.setsum(temp.getsum());
c.setPrice(temp.getPrice());
}
}
return c;
}
//根据出版社查询
public Book findCbs(String cbs){
Book c = null;
FileBook f = new FileBook();
List l = f.selectBook();
for(int i = 0;i<l.size();i++){
Book temp = (Book)l.get(i);
if(temp.getcbs().equals(cbs)){
c = new Book();
c.setId(temp.getId());
c.setName(temp.getName());
c.setAuthor(temp.getAuthor());
c.setCbs(temp.getcbs());
c.setDate(temp.getDate());
c.setsum(temp.getsum());
c.setPrice(temp.getPrice());
}
}
return c;
}
展示所有图书信息
//查询所有
public List selecAall(){
List l = null;
FileBook f = new FileBook();
l = f.selectBook();
return l;
}
public void getAll(){
Bookservice cs = new Bookservice();
List<Book> l = cs.selecAall();
if(l != null && l.size()>0){
Iterator<Book> it = l.iterator();//迭代器
while(it.hasNext()){
Book temp = it.next();
System.out.println(temp.getId()+","+temp.getName()+","+temp.getAuthor()+","+temp.getcbs()+","+temp.getDate()+","+temp.getsum()+","+temp.getPrice()+",");
}
}
}
增加读者信息类
public void addreadin(){
Readin c = new Readin();
System.out.println("--------请您输入的基本信息--------");
System.out.println("请输入您的学号");
String xh = CMDUtil.getString();
c.setXh(xh);
System.out.println("请输入您的姓名");
String rname = CMDUtil.getString();
c.setRname(rname);
System.out.println("请输入您的学院");
String xy = CMDUtil.getString();
c.setXy(xy);
System.out.println("请输入您的专业班级");
String mc = CMDUtil.getString();
c.setMc(mc);
FileReadin fr = new FileReadin();
fr.add(c);
System.out.println("--------添加成功--------");
}
public void radd(){
boolean flagg = false;
ReadinService rs = new ReadinService();
rs.addreadin();
System.out.println("添加成功");
flagg = true;
if (!flagg) {
System.out.println("添加失败");
}
}
删除读者信息
public boolean deleteReadin(String xh){
boolean b = false;
FileReadin f = new FileReadin();
//从文件中拿到信息
List l = f.selectReadin();
for(int i = 0;i<l.size();i++){
//判断是否有一个id跟参数相同
Readin c = (Readin) l.get(i);
if(c.getXh().equals(xh)){
//如果相同则从集合中删除该元素
l.remove(i);
b = true;
}
}
//把集合保存到文件系统中
f.saveReadin(l);
return b;
}
public void rdelete() {
System.out.println("--------请您输入需要删除的学号--------");
String xh = CMDUtil.getString();
System.out.println("--------是否确认删除(Y/N)--------");
char ch = CMDUtil.getChar();
if(ch == 'Y'){
ReadinService cs = new ReadinService();
boolean b = cs.deleteReadin(xh);
System.out.println("--------删除成功--------");
}else{
System.out.println("--------放弃删除--------");
}
}
修改读者信息
public void rxg(){
System.out.println("--------请您输入需要修改的学号--------");
int xh = CMDUtil.getInt();
Readin c = new Readin();//获取ID
System.out.println("--------请您输入基本信息--------");
System.out.println("请输入学号");
String xh1 = CMDUtil.getString();
c.setXh(xh1);
System.out.println("请输入姓名");
String rname = CMDUtil.getString();
c.setRname(rname);
System.out.println("请输入学院");
String xy = CMDUtil.getString();
c.setXy(xy);
System.out.println("请输入专业班级");
String mc = CMDUtil.getString();
c.setMc(mc);;
ReadinService cs = new ReadinService();
boolean b = cs.updateReadin(c);
if(b){
System.out.println("修改成功");
}
//输出修改后的信息
System.out.println("修改成功");
}
public boolean updateReadin(Readin c){
boolean b = false;
FileReadin f = new FileReadin();
List l = f.selectReadin();
for(int i =0;i<l.size();i++){
Readin temp = (Readin)l.get(i);
if(temp.getXh().equals(xh)){
c.setXh(temp.getXh());
c.setRname(temp.getRname());
c.setXy(temp.getXy());
c.setMc(temp.getMc());
b = true;
}
}
f.saveReadin(l);//保存到文件系统中
return b;
}
查找读者信息
public void rselect(){
System.out.println("请输入姓名进行查询");
String rname = CMDUtil.getString();
ReadinService cs = new ReadinService();
Readin temp = (Readin)cs.findRname(rname);
if(temp != null){
String str = temp.getXh()+","+temp.getRname()+","+temp.getXy()+","+temp.getMc()+",";
}else{
System.out.println("该用户不存在");
}
}
public Readin findXh(String xh){
Readin c = null;
FileReadin f = new FileReadin();
List l = f.selectReadin();
for(int i = 0;i<l.size();i++){
Readin temp = (Readin) l.get(i);
if(temp.getXh().equals(xh)){
c = new Readin();
c.setXh(temp.getXh());
c.setRname(temp.getRname());
c.setXy(temp.getXy());
c.setMc(temp.getMc());
}
}
return c;
}
//根据姓名查找
public Readin findXy(String xy){
Readin c = null;
FileReadin f = new FileReadin();
List l = f.selectReadin();
for(int i = 0;i<l.size();i++){
Readin temp = (Readin)l.get(i);
if(temp.getXy() == xy){
c = new Readin();
c.setXh(temp.getXh());
c.setRname(temp.getRname());
c.setXy(temp.getXy());
c.setMc(temp.getMc());
}
}
return c;
}
//根据专业班级查找
public Readin findMc(String mc){
Readin c = null;
FileReadin f = new FileReadin();
List l = f.selectReadin();
for(int i = 0;i<l.size();i++){
Readin temp = (Readin)l.get(i);
if(temp.getMc() == mc){
c = new Readin();
c.setXh(temp.getXh());
c.setRname(temp.getRname());
c.setXy(temp.getXy());
c.setMc(temp.getMc());
}
}
return c;
}
所有读者信息
public void rsort(){
ReadinService cs = new ReadinService();
List<Readin> l = cs.selecAall();
if(l != null && l.size()>0){
Iterator<Readin> it = l.iterator();//迭代器
while(it.hasNext()){
Readin temp = (Readin)it.next();
String str = temp.getXh()+","+temp.getRname()+","+temp.getXy()+","+temp.getMc()+",";
}
}
}
//查询所有
public List selecAall(){
List l = null;
FileReadin f = new FileReadin();
l = f.selectReadin();
return l;
}
图书借阅功能
public void delete1() {
Booklook bl = new Booklook();
Bookservice bs = new Bookservice();
Book b = new Book();
FileBook fb = new FileBook();
FileReadin fr = new FileReadin();
Readin r = new Readin();
System.out.println("请输入你的学号");
String xh = CMDUtil.getString();
bl.setXh(xh);
System.out.println("请输入要借阅的书名:");
String name = CMDUtil.getString();
bl.setName(name);
if(name != null) {
List l = fb.selectBook();
for (int i = 0; i < l.size(); i++) {
if (bl.getName().equals(name)) {
if (b.sum == 0) {
System.out.println("该图书已被借完");
}
else {
for (int j = 0; j < l.size(); j++) {
if (b.getName() != null) {
String xh1 = CMDUtil.getString();
r.setXh(xh1);
String rname = CMDUtil.getString();
r.setRname(rname);
String id = CMDUtil.getString();
b.setId(id);
String name1 = CMDUtil.getString();
b.setName(name1);
System.out.println("请输入借阅日期");
String jdate1 = CMDUtil.getString();
bl.setJdate(jdate1);
b.sum--;
System.out.println("借阅成功!");
break;
}
}
break;
}
}
}
}
}
图书归还功能
public void add1() {
Booklook bl = new Booklook();
Bookservice bs = new Bookservice();
Book b = new Book();
FileBook fb = new FileBook();
FileReadin fr = new FileReadin();
Readin r = new Readin();
System.out.println("请输入你的学号");
String xh = CMDUtil.getString();
bl.setXh(xh);
System.out.println("请输入要还的书名:");
String name = CMDUtil.getString();
bl.setName(name);
if (name != null) {
List l = fb.selectBook();
boolean flag = true;
int i = 0;
while (flag) {
if (bl.getName().equals(name)) {
for (int j = 0; j <l.size(); j++) {
if (bl.getGdate() == null ) {
System.out.println("请输入你的归还日期");
String gdate = CMDUtil.getString();
bl.setGdate(gdate);
b.sum++;
System.out.println("还书成功!");
flag = false;
break;
}
}
}
i++;
}
}
}
}
图书阅览表查询功能
public void select1() {
System.out.println("请您输入要查询的学号");
String xh = CMDUtil.getString();
ReadinService rs = new ReadinService();
Readin temp = rs.findXh(xh);
if(temp != null){
System.out.println(temp.getXh()+"\t"+temp.getRname()+"\t"+temp.getXy()+"\t"+temp.getMc());
}else{
System.out.println("该用户不存在");
}
}
public class BooklookService {
//根据学号查找
public Booklook findXh(String xh){
Booklook c = null;
FileBooklook f = new FileBooklook();
List l = f.selectbooklook();
for(int i = 0;i<l.size();i++){
Booklook temp = (Booklook)l.get(i);
if(temp.getXh().equals(xh)){
c = new Booklook();
c.setXh(xh);
c.setRname(temp.getRname());
c.setId(temp.getId());
c.setName(temp.getName());
c.setJdate(temp.getJdate());
c.setGdate(temp.getGdate());
}
}
return c;
}
//根据书名查找
public Booklook findName(String name){
Booklook c = null;
FileBooklook f = new FileBooklook();
List l = f.selectbooklook();
for(int i = 0;i<l.size();i++){
Booklook temp = (Booklook)l.get(i);
if(temp.getName() == name){
c = new Booklook();
c.setXh(temp.getXh());
c.setRname(temp.getRname());
c.setId(temp.getId());
c.setName(temp.getName());
c.setJdate(temp.getJdate());
c.setGdate(temp.getGdate());
}
}
return c;
}
//根据学院查找
public Booklook findXy(String xy){
Booklook c = null;
FileReadin f = new FileReadin();
List l = f.selectReadin();
Booklook temp1 = (Booklook)l;
for(int i = 0;i<l.size();i++){
Readin temp = (Readin)l.get(i);
if(temp.getXy() == xy){
c = new Booklook();
c.setXh(temp1.getXh());
c.setRname(temp1.getRname());
c.setId(temp1.getId());
c.setName(temp1.getName());
c.setJdate(temp1.getJdate());
c.setGdate(temp1.getGdate());
}
}
return c;
}
}