打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
package com.ourchr.bookstore.ui;
package com.ourchr.bookstore.ui;

import java.util.Date;
import java.util.List;

import com.ourchr.bookstore.bo.BookBo;
import com.ourchr.bookstore.bo.UserBo;
import com.ourchr.bookstore.info.Book;
import com.ourchr.bookstore.info.User;

public class AdminUI extends UI {
/**
* 定义UserBo变量userBo
*/
UserBo userBo = new UserBo();
/**
* 定义BookBo变量bookBo
*/
BookBo bookBo = new BookBo();
private User me;

/**
* 封装me
* @param me
*/
public void setMe(User me) {
this.me = me;
}

/**
* 读me
* @return me
*/
public User getMe() {
return me;
}

public AdminUI(User user) {
setMe(user);
}

/**
* 添加读者
*/
public void doAddReader() {
print("请输入添加的读者账号:");
String code = readLine();
print("请输入添加读者的姓名:");
String name = readLine();
print("请输入添加读者的密码:");
String password = readLine();

/**
* 对账号密码进行空值判断
*/
if (code.trim().isEmpty()) {
println("注册的账号不能为空。");
return;
} else if (name.trim().isEmpty()) {
println("注册姓名不能为空。");
return;
} else if (password.trim().isEmpty()) {
println("注册的密码不能为空。");
return;
}

User reader = new User();
reader.setCode(code);
reader.setName(name);
reader.setPassword(password);
reader.setType(User.READ_USER);

/**
* 判断读者用户是否存在
*/
if (userBo.addUser(reader)) {
println("读者用户【" + name + "】已经添加成功了。");
} else {
println("读者用户【" + name + "】已经存在,添加失败。");
}
}

/**
*删除读者
*/
public void doRemoveReader() {
print("请输入您要删除的读者账号:");
String code = readLine();
User user = userBo.findUserByCode(code);
if (user == null) {
System.out.println("您要删除的读者不存在!");
return;
}else{
userBo.removeUser(user);
println("删除读者【" + user.getName() + "】成功。");
}
}

/**
* 添加图书
*/
public void doAddBook() {
println("请您输入要添加的图书信息:");
print("图书编号:");
String code = readLine();
print("\n图书名字:");
String name = readLine();
print("\n图书作者:");
String author = readLine();
print("\n图书出版社:");
String publisher = readLine();
print("\n图书价格: ");
String price1 = readLine();
double price = Double.parseDouble(price1);

Book book = new Book();
book.setCode(code);
book.setName(name);
book.setAuthor(author);
book.setPublisher(publisher);
book.setPrice(price);
book.setRegister(me);
book.setDebet(null);
book.setRegisterDate(new Date());

/**
* 判断图书信息格式是否正确
*/
if (code.trim().isEmpty() || name.trim().isEmpty()
|| author.trim().isEmpty() || publisher.trim().isEmpty()
|| price1.trim().isEmpty()) {
println("图书信息不能为空,返回重新输入。");
return;
}

/**
* 判断图书是否存在
*/
if (bookBo.findBookByCode(code) != null) {
println("图书【" + name + "】已存在,添加失败。");
return;
}

Book bo = new Book(code, name, author, publisher, price, me);
bookBo.addBook(bo);
println("【" + bo.getName() + "】图书添加成功。");
}

/**
* 删除图书
*/
public void doRemoveBook() {
print("请输入您要删除的图书编号:");
String code = readLine();

if (code.trim().isEmpty()) {
println("图书编号不能为空!");
return;
}

Book book = bookBo.findBookByCode(code);

if (book == null) {
println("编号为【" + code + "】的图书不存在,删除失败。");
return;
}

bookBo.removeBook(book);
println("删除【" + book + "】图书成功。");
}

/**
* 查看指定图书信息
*/
public void doSearchReaderBook() {

println("请输入您要查找的读者账号。");
String code = readLine();

if (code.trim().isEmpty()) {
println("输入的格式错误。");
return;
}

User user = userBo.findUserByCode(code);

if (user == null) {
println("没有【" + code + "】的读者。");
return;
}

List<Book> userBook = bookBo.findBooksByUser(user);
println(user + "读者【" + code + "】的借阅信息为:");

if (userBook == null) {
println("没有借书记录!");
return;
}

for (Book book : userBook) {
print(book.toString());
}
}

/**
* 查看指定的图书信息
*/
public void doSearchBook() {
print("请输入您要查找图书编号:");
String cd = readLine();

Book book = bookBo.findBookByCode(cd);
if (book == null) {
print("图书馆无此书");
} else {
print(book.toString() + " ");
}
}

/**
* 列出所有的图书信息
*/
public void doListAllBooks() {
List<Book> booklist = bookBo.findAllBooks();
println("所以的图书信息为:");
if(booklist.size()==0){
println("图书馆没有一本书。");
}else{
for (Book book : booklist) {
print(book.toString());
}
}
}

/**
* 修改密码
*/
public void doChangePassWord() {
print("请输入原密码:");
String oldPassword = readLine();
print("\n请输入新密码:");
String newPassword1 = readLine();
print("\n请再次输入新密码:");
String newPassword2 = readLine();

if (oldPassword.trim().isEmpty() || newPassword1.trim().isEmpty()
|| newPassword2.trim().isEmpty()) {
println("密码不能为空,密码修改失败。");
return;
}

if (me.getPassword().equals(oldPassword)) {
if (newPassword1.equals(newPassword2)) {
me.setPassword(newPassword1);
userBo.addUser(me);
println("密码修改成功。");
} else {
println("您输入的两次新密码不一致,密码修改失败。");
return;
}
} else {
println("原密码有误,密码修改失败。");
return;
}
}

/**
* 菜单
*/
public void displayMenu() {
println("\n\n您可以使用如下功能进行操作:\n");
println("1.添加用户");
println("2.删除用户");
println("3.添加图书信息");
println("4.删除图书信息");
println("5.查找指定读者借书的信息");
println("6.查看指定图书信息");
println("7.更改密码");
println("8.显示全部的图书信息");
println("9.退出\n");
}

/**
* work操作
*/
public void work() {
print("\n===== 欢迎您进入创睿图书管理系统 =====");
char ch;
while (true) {
displayMenu();
println("请您选择一个菜单项:");
String str = readLine();
if (str.length() != 1) {
print("您输入的参数不正确,请重新输入。");
continue;
}
ch = str.charAt(0);
if (!(Character.isDigit(ch))) {
println("您输入的参数必须是数字,请重新输入。");
continue;
} else if (ch <= '0' || ch > '9') {
println("您必须重新输入1-9之间的数字。");
continue;
}
switch (ch) {
case '1':
this.doAddReader();
break;
case '2':
this.doRemoveReader();
break;
case '3':
this.doAddBook();
break;
case '4':
this.doRemoveBook();
break;
case '5':
this.doSearchReaderBook();
break;
case '6':
this.doSearchBook();
break;
case '7':
this.doChangePassWord();
break;
case '8':
this.doListAllBooks();
break;
case '9':
userBo.saveUserDat();
bookBo.saveBookDat();
return;
default:
println("请选择菜单项。");
return;
}
}
}
}


package com.ourchr.bookstore.ui;

import com.ourchr.bookstore.info.*;
import com.ourchr.bookstore.bo.*;

public class LoginUI extends UI {
private User me = new User();

public User getMe() {
return me;
}

public void setMe(User me) {
this.me = me;
}
/**
* 用户登陆界面
*/
public void doLogin() {
User user = null;
UserBo userBo = new UserBo();
println("\n=====欢迎您进入创睿图书管理系统 =====");
for(int i = 0; i < 3; i++) {
print("请输入您的账号:");
String code = readLine();
print("请输入您的密码:");
String password = readLine();
if(userBo.isHadUser(code, password)) {
user = userBo.findUserByCode(code);
break;
} else {
println("您输入的账号或密码错误,请重新输入。\n");
}
}
if(user == null) {
println("账号或密码错误超过三次,系统将退出。");
return;
}
if(user.isAdmin()) {
new AdminUI(user).work();
} else {
new ReaderUI(user).work();
}
}
}


package com.ourchr.bookstore.ui;

import java.util.*;

import com.ourchr.bookstore.info.*;
import com.ourchr.bookstore.bo.*;

public class ReaderUI extends UI {
/**
* 定义UserBo类变量userBo
*/
private UserBo userBo = new UserBo();
/**
* 定义BookBo类变量BookBo
*/
private BookBo bookBo = new BookBo();
private User reader;

public ReaderUI(User user) {
reader = user;
}

/**
* 查看自己的借书信息
*/
public void doListMyBooks() {
System.out.println("您借阅的图书是:");
List<Book> myBooks = bookBo.findBooksByUser(reader);

if (myBooks.size() == 0) {
println("没有借书。");
return;
}

for (Book book : myBooks) {
println(book.toString());
}
}

/**
* 归还图书
*/
public void doReturnBook() {
println("请输入您要归还书的编号:");
String bookCode = readLine();

if (bookCode.trim().isEmpty()) {
println("图书的编号不能为空。");
return;
}

if (bookBo.returnBookByBookCode(bookCode, reader)) {
println("图书已归还成功。");
return;
} else {
print("您并无借此书,不用归还。");
}
}

/**
* 借书
*/
public void BorrowBook() {
print("请输入您要借的书的编号:");
String code = readLine();
if (bookBo.borrowBookByBookCode(code, reader)) {
println("你成功借阅了图书编号为【" + code + "】的图书。");
} else {
println("借书失败,无此书或已被借出。");
}
}

/**
* 列出素所有的图书信息
*/
public void doListAllBooks() {
println("所以的图书信息为:");
List<Book> booklist = bookBo.findAllBooks();
for (Book book : booklist) {
print(book.toString());
}
}

/**
* 修改密码
*/
public void ChangePassword() {
print("请输入原密码:");
String oldPassword = readLine();
print("\n请输入新密码:");
String newPassword1 = readLine();
print("\n请再次输入新密码:");
String newPassword2 = readLine();

/**
* 判断密码是否匹配
*/
if (oldPassword.trim().isEmpty() || newPassword1.trim().isEmpty()
|| newPassword2.trim().isEmpty()) {
println("密码不能为空。");
return;
}

/**
* 判断密码是否匹配
*/
if (reader.getPassword().equals(oldPassword)) {
if (newPassword1.equals(newPassword2)) {
reader.setPassword(newPassword1);
userBo.addUser(reader);
println("密码修改成功。");
} else {
println("您输入的两次新密码不一致。");
return;
}
} else {
println("原密码有误。");
return;
}
}

/**
* 选择菜单
*/
public void displayMenu() {
println("\n\n您可以使用如下功能进行操作:\n");
println("1.借阅图书");
println("2.归还图书");
println("3.查看我的借书信息");
println("4.更改密码");
println("5.显示全部的图书信息");
println("6.退出\n");
}

/**
* word操作
* @param reader
*/
public void work() {
// this.reader = reader;
print("\n===== 欢迎您进入创睿图书管理系统 =====");
char ch;
while (true) {
displayMenu();
println("请您选择一个菜单项:");
String str = readLine();
if (str.length() != 1) {
print("您输入的参数不正确,请重新输入。");
continue;
}
ch = str.charAt(0);
if (!(Character.isDigit(ch))) {
println("您输入的参数必须是数字,请重新输入。");
continue;
} else if (ch <= '0' || ch >= '7') {
println("您必须重新输入1-6之间的数字。");
continue;
}
switch (ch) {
case '1':
this.BorrowBook();
break;
case '2':
this.doReturnBook();
break;
case '3':
this.doListMyBooks();
break;
case '4':
this.ChangePassword();
break;
case '5':
this.doListAllBooks();
break;
case '6':
userBo.saveUserDat();
bookBo.saveBookDat();
return;
default:
println("请选择菜单项。");
return;
}
}
}
}


package com.ourchr.bookstore.ui;

import java.util.*;

public class UI {
/**
* 用户操作打印属性
*/
private Scanner userInput = new Scanner(System.in);

public Scanner getUserInput() {
return userInput;
}

public void setUserInput(Scanner userInput) {
this.userInput = userInput;
}

public void print(String str) {
println(str);
}

public void println(String str) {
System.out.println(str);

}

public String readLine() {
return userInput.nextLine();
}
}

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
SpringBoot+Shiro学习之密码加密和登录失败次数限制 | z77z的小码窝 | 年少无为,卖码为生。
java socket 实现服务端与客户端
在java中如何用键盘输入一个数,字符,字符串
Java键盘输入
JAVA网络编程,基本概念与开发
Java邮件收发SMTP和POP3
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服