登录: 判断用户输入的帐号密码是否正确。
1 用户平台:1.1图书信息查询;1.2图书购买;1.3退出
2 管理平台:2.1图书入库;2.2图书出库;2.3增加图书
3 管理员:3.1会员信息查询;3.2会员信息增加;3.3会员信息修改;3.4会员信息删除;3.5退出
User.class
1 package com.jianglai.books; 2 3 /** 4 * 用户类 5 * @author jl 6 * 7 */ 8 public class User { 9 10 private String username; 11 private String pwd; 12 private int type;//1代表用户,2代表管理员 13 14 public User() { 15 super(); 16 // TODO Auto-generated constructor stub 17 } 18 19 20 21 public User(String username, String pwd, int type) { 22 super(); 23 this.username = username; 24 this.pwd = pwd; 25 this.type = type; 26 } 27 28 29 30 @Override 31 public String toString() { 32 return "User [username=" + username + ", pwd=" + pwd + ", type=" + type + "]"; 33 } 34 35 public int getType() { 36 return type; 37 } 38 39 public void setType(int type) { 40 this.type = type; 41 } 42 43 public String getUsername() { 44 return username; 45 } 46 47 public void setUsername(String username) { 48 this.username = username; 49 } 50 51 public String getPwd() { 52 return pwd; 53 } 54 55 public void setPwd(String pwd) { 56 this.pwd = pwd; 57 } 58 59 }
Book.class
1 package com.jianglai.books; 2 3 /** 4 * 书类 5 * @author jl 6 * 7 */ 8 public class Book { 9 10 private int book_Id; 11 private String book_name; 12 private String book_author; 13 private String book_date; 14 private double book_price; 15 private int book_count; 16 17 18 19 public Book() { 20 super(); 21 // TODO Auto-generated constructor stub 22 } 23 24 25 26 public Book(int book_Id, String book_name, String book_author, String book_date, double book_price, 27 int book_count) { 28 super(); 29 this.book_Id = book_Id; 30 this.book_name = book_name; 31 this.book_author = book_author; 32 this.book_date = book_date; 33 this.book_price = book_price; 34 this.book_count = book_count; 35 } 36 37 38 39 40 public int getBook_Id() { 41 return book_Id; 42 } 43 44 45 46 public void setBook_Id(int book_Id) { 47 this.book_Id = book_Id; 48 } 49 50 51 52 public String getBook_name() { 53 return book_name; 54 } 55 56 57 58 public void setBook_name(String book_name) { 59 this.book_name = book_name; 60 } 61 62 63 64 public String getBook_author() { 65 return book_author; 66 } 67 68 69 70 public void setBook_author(String book_author) { 71 this.book_author = book_author; 72 } 73 74 75 76 public String getBook_date() { 77 return book_date; 78 } 79 80 81 82 public void setBook_date(String book_date) { 83 this.book_date = book_date; 84 } 85 86 87 88 public double getBook_price() { 89 return book_price; 90 } 91 92 93 94 public void setBook_price(double book_price) { 95 this.book_price = book_price; 96 } 97 98 99 100 public int getBook_count() { 101 return book_count; 102 } 103 104 105 106 public void setBook_count(int book_count) { 107 this.book_count = book_count; 108 } 109 110 111 112 @Override 113 public String toString() { 114 return "Book [book_Id=" + book_Id + ", book_name=" + book_name + ", book_author=" + book_author + ", book_date=" 115 + book_date + ", book_price=" + book_price + ", book_count=" + book_count + "]"; 116 } 117 118 119 }
DataList.class
1 package com.jianglai.books; 2 3 import java.util.Arrays; 4 5 /** 6 * 数据管理类 7 * @author jl 8 * 9 */ 10 public class DataList { 11 12 13 14 private User[] userList; 15 private Book[] bookList; 16 17 public DataList() { 18 //初始化一个用户数组,并赋值 19 this.userList = new User[]{ 20 new User("user","user",1), 21 new User("jl", "000000", 2), 22 new User("admin", "admin", 0), 23 new User("root", "root", 0)}; 24 25 //初始化一个书的数组,并赋值 26 this.bookList = new Book[]{ 27 new Book(10001, "鬼吹灯", "天下霸唱", "2008-7-1", 27.8, 87), 28 new Book(10002, "魔戒1", "莫尔斯","2005-3-14", 54, 13), 29 new Book(10003, "华丽波特1", "罗琳","2003-2-14", 43.5, 99), 30 new Book(10004, "时间机器", "威尔","1965-3-3", 21.3, 75), 31 new Book(10005, "宇宙奥秘", "霍金","2003-12-23", 87.3, 14),}; 32 } 33 34 public DataList(User[] userList, Book[] bookList) { 35 super(); 36 this.userList = userList; 37 this.bookList = bookList; 38 39 } 40 public User[] getUserList() { 41 return userList; 42 } 43 public void setUserList(User[] userList) { 44 this.userList = userList; 45 } 46 public Book[] getBookList() { 47 return bookList; 48 } 49 public void setBookList(Book[] bookList) { 50 this.bookList = bookList; 51 } 52 53 54 @Override 55 public String toString() { 56 return "DataList [userList=" + Arrays.toString(userList) + ", bookList=" + Arrays.toString(bookList) + "]"; 57 } 58 59 60 61 62 63 }
userManager.class
1 package com.jianglai.books; 2 3 import java.util.Arrays; 4 5 /** 6 * 用户管理类 --- 实现各种方法。 7 * @author jl 8 * 9 */ 10 public class UserManager { 11 12 13 DataList dl = new DataList(); 14 15 16 /** 17 * 登录方法-- 查询数据,返回查到的用户信息。 18 * @param username 用户名 19 * @param pwd 密码 20 * @return 返回一个用户类,好用来判断登录角色 21 */ 22 public User login(String username,String pwd) { 23 User user = new User(); 24 for (int i = 0; i < dl.getUserList().length; i++) { 25 if(username.equals(dl.getUserList()[i].getUsername())&&pwd.equals(dl.getUserList()[i].getPwd())){ 26 return dl.getUserList()[i]; 27 } 28 } 29 30 return user; 31 } 32 33 34 /** 35 * 用户类中查找整个书单列表 36 */ 37 public void findBookList() { 38 System.out.println("书号\t\t书名\t\t作者\t\t发布日期\t\t\t价格\t\t库存"); 39 for (int i = 0; i < dl.getBookList().length; i++) { 40 System.out.println(dl.getBookList()[i].getBook_Id()+"\t\t"+dl.getBookList()[i].getBook_name()+"\t\t"+dl.getBookList()[i].getBook_author() 41 +"\t\t"+dl.getBookList()[i].getBook_date()+"\t\t"+dl.getBookList()[i].getBook_price()+"\t\t"+dl.getBookList()[i].getBook_count()); 42 } 43 } 44 45 46 /** 47 * 购买图书 48 * @param book_Id 购买图书的id 49 * @param book_Count 购买图书的数量 50 */ 51 public void moneyCount(int book_Id, int book_Count) { 52 53 for (int i = 0; i < dl.getBookList().length; i++) { 54 if(book_Id == dl.getBookList()[i].getBook_Id()){ 55 dl.getBookList()[i].setBook_count(dl.getBookList()[i].getBook_count()-book_Count); 56 System.out.println(dl.getBookList()[i].getBook_name()+":"+ 57 dl.getBookList()[i].getBook_price()+"\n数量:"+book_Count+"\n总计:"+(book_Count*dl.getBookList()[i].getBook_price())); 58 } 59 } 60 61 } 62 63 64 /** 65 * 管理员查询用户全部信息的界面。 66 */ 67 public void findUserList() { 68 69 System.out.println("会员帐号\t\t\t会员密码\t\t\t会员角色"); 70 for (int i = 0; i < dl.getUserList().length; i++) { 71 System.out.println(dl.getUserList()[i].getUsername()+"\t\t\t"+dl.getUserList()[i].getPwd()+"\t\t\t" 72 +dl.getUserList()[i].getType()); 73 } 74 75 } 76 77 /** 78 * 注册会员功能 79 * @param newUserName 新会员用户名 80 * @param newPwd 新会员密码 81 * @param newType 新会员类型(1-用户、2-管理员) 82 */ 83 84 85 public void addUser(String newUserName, String newPwd, int newType) { 86 87 User newUser = new User(newUserName, newPwd, newType); 88 89 User[] userList = new User[dl.getUserList().length+1]; 90 91 int index = 0 ; 92 93 for (int i = 0; i < userList.length-1; i++) { 94 userList[index] = dl.getUserList()[i]; 95 index++; 96 } 97 98 userList[userList.length-1] = newUser; 99 100 dl.setUserList(userList); 101 102 for (int i = 0; i < userList.length; i++) { 103 System.out.println(userList[i].getUsername()+"\t\t\t"+userList[i].getPwd()+"\t\t\t"+userList[i].getType()); 104 } 105 106 } 107 108 109 /** 110 * 修改会员功能 111 * @param uName 112 * @param uType 113 */ 114 public void updateUser(String uName, int uType) { 115 for (int i = 0; i < dl.getUserList().length; i++) { 116 if(uName.equals(dl.getUserList()[i].getUsername())){ 117 System.out.println(dl.getUserList()[i]); 118 dl.getUserList()[i].setType(uType); 119 } 120 } 121 122 } 123 124 125 /** 126 * 删除用户信息 127 * @param uName 需要删除的用户信息的用户名 128 */ 129 public void delUser(String uName) { 130 // TODO Auto-generated method stub 131 132 int index = dl.getUserList().length-1; 133 User[] userList = new User[dl.getUserList().length-1]; 134 135 for (int i = 0; i < dl.getUserList().length; i++) { 136 if(uName.equals(dl.getUserList()[i].getUsername())){ 137 if(dl.getUserList()[i].getType()!=0){ 138 index = i; 139 break; 140 }else { 141 System.out.println("您不能删除超级管理员用户!"); 142 return; 143 } 144 // index = i; 145 } 146 } 147 148 User[] uArr1 = Arrays.copyOf(dl.getUserList(), index); 149 User[] uArr2 = Arrays.copyOfRange(dl.getUserList(), index+1, dl.getUserList().length); 150 151 int count = 0; 152 153 for (int i = 0; i < uArr1.length; i++) { 154 userList[i] = uArr1[i]; 155 count++; 156 } 157 // System.out.println(count); 158 for (int i = 0; i < userList.length-uArr1.length; i++) { 159 userList[count] = uArr2[i]; 160 count++; 161 } 162 163 dl.setUserList(userList); 164 findUserList(); 165 166 } 167 168 169 170 171 }
bookManager.class
1 package com.jianglai.books; 2 3 import java.util.Arrays; 4 5 /** 6 * 图书管理类 7 * 8 * @author jl 9 * 10 */ 11 public class BookManager { 12 13 DataList dl = new DataList(); 14 /** 15 * 管理员类中查找所有图书信息的方法 16 */ 17 public void findBookList() { 18 System.out.println("书号\t\t书名\t\t作者\t\t发布日期\t\t\t价格\t\t库存"); 19 for (int i = 0; i < dl.getBookList().length; i++) { 20 System.out.println(dl.getBookList()[i].getBook_Id()+"\t\t"+dl.getBookList()[i].getBook_name()+"\t\t"+dl.getBookList()[i].getBook_author() 21 +"\t\t"+dl.getBookList()[i].getBook_date()+"\t\t"+dl.getBookList()[i].getBook_price()+"\t\t"+dl.getBookList()[i].getBook_count()); 22 } 23 } 24 25 /** 26 * 图书入库的方法 27 * @param book_Id 需要增加数量的图书的id 28 * @param book_Count 增加图书的数量 29 */ 30 public void addBookCount(int book_Id,int book_Count) { 31 32 Book[] bookList = dl.getBookList(); 33 34 for (int i = 0; i < dl.getBookList().length; i++) { 35 if(book_Id == dl.getBookList()[i].getBook_Id()){ 36 bookList[i].setBook_count(bookList[i].getBook_count()+book_Count); 37 } 38 } 39 40 } 41 42 /** 43 * 图书出库的方法 44 * @param book_Id 需要删除数量的图书的id 45 * @param book_Count 删除图书的数量 46 */ 47 public void delBookCount(int book_Id,int book_Count) { 48 49 Book[] bookList = dl.getBookList(); 50 51 for (int i = 0; i < dl.getBookList().length; i++) { 52 if (book_Id == dl.getBookList()[i].getBook_Id()) { 53 bookList[i].setBook_count(bookList[i].getBook_count() - book_Count); 54 } 55 } 56 } 57 58 59 /** 60 * 新增图书 61 * @param book_name 增加图书的图书名 62 * @param book_author 增加图书的作者 63 * @param book_date 增加图书的出版日期 64 * @param book_price 增加图书的价格 65 * @param book_count 增加图书的数量 66 */ 67 public void addBookList(String book_name, String book_author, String book_date, double book_price, int book_count) { 68 69 int book_Id = 10000+(dl.getBookList().length+1); 70 71 int index = 0; 72 Book newBook = new Book(book_Id, book_name, book_author, book_date, book_price, book_count); 73 74 Book[] bookList = new Book[dl.getBookList().length+1]; 75 76 for (int i = 0; i < dl.getBookList().length; i++) { 77 bookList[index] = dl.getBookList()[index]; 78 index ++; 79 } 80 81 bookList[dl.getBookList().length] = newBook; 82 83 84 dl.setBookList(bookList); 85 86 System.out.println("书号\t\t书名\t\t作者\t\t发布日期\t\t\t价格\t\t库存"); 87 for (int i = 0; i < bookList.length; i++) { 88 System.out.println(bookList[i].getBook_Id()+"\t\t"+bookList[i].getBook_name()+"\t\t"+bookList[i].getBook_author() 89 +"\t\t"+bookList[i].getBook_date()+"\t\t"+bookList[i].getBook_price()+"\t\t"+bookList[i].getBook_count()); 90 } 91 92 } 93 }
Test.class
1 package com.jianglai.books; 2 3 import java.util.Scanner; 4 5 public class Test { 6 7 public static void main(String[] args) { 8 9 UserManager um = new UserManager(); 10 BookManager bm = new BookManager(); 11 12 Scanner in = new Scanner(System.in); 13 14 DataList dl = new DataList(); 15 16 int num =0;//操作选择计数器 17 18 19 while (true) { 20 21 System.out.println("************欢迎使用图书书店************"); 22 //1.输入用户名和密码进行判断登录 23 System.out.print("请输入用户名:"); 24 String username = in.next(); 25 System.out.print("请输入密码:"); 26 String pwd = in.next(); 27 28 //2.用户登录 29 User u = um.login(username, pwd); 30 31 //判断用户的属性 32 if(u.getType() == 1){//用户操作界面 33 34 System.out.println("************欢迎光临图书系统************"); 35 36 //2-1-1.用户显示书目列表 37 um.findBookList(); 38 System.out.println(); 39 40 41 int book_Id;// 书的ID 42 int book_Count;// 数的数量 43 44 45 boolean flage = true; 46 47 while (flage) { 48 System.out.println("请选择进行的操作:1.查看图书\t2.结账\t3.退出"); 49 num = in.nextInt(); 50 51 switch (num) { 52 case 1: 53 um.findBookList(); 54 break; 55 case 2: 56 System.out.println("请输入想要购买的图书信息-->"); 57 System.out.print("请输入图书ID:"); 58 book_Id = in.nextInt(); 59 System.out.print("请输入出库的数量:"); 60 book_Count = in.nextInt(); 61 62 //购买图书,并且计算图书价格再显示 63 um.moneyCount(book_Id,book_Count); 64 65 break; 66 case 3: 67 System.out.println("感谢使用,退出系统。"); 68 flage = false; 69 break; 70 default: 71 System.out.println("您的输入有误!"); 72 break; 73 } 74 75 } 76 77 78 }else if(u.getType()==2){//管理员操作界面 79 80 System.out.println("************欢迎登录库存管理系统************"); 81 82 // 2-2-1.管理员显示书目列表 83 bm.findBookList(); 84 System.out.println(); 85 86 boolean flag = true; 87 88 while (flag) { 89 90 // 2-2-2.管理员操作 91 System.out.println("请选择进行的操作:1.图书入库\t2.图书出库\t3.查询全部图书\t4.新增图书\t5.退出"); 92 num = in.nextInt(); 93 94 int book_Id;// 书的ID 95 int book_Count;// 数的数量 96 97 String book_name; 98 String book_author; 99 String book_date; 100 double book_price; 101 int book_count; 102 103 switch (num) { 104 case 1: 105 System.out.println("请输入图书信息-->"); 106 System.out.print("请输入图书ID:"); 107 book_Id = in.nextInt(); 108 System.out.print("请输入入库的数量:"); 109 book_Count = in.nextInt(); 110 // 增加图书数量 111 bm.addBookCount(book_Id, book_Count); 112 113 bm.findBookList(); 114 115 break; 116 case 2: 117 118 System.out.println("请输入图书信息-->"); 119 System.out.print("请输入图书ID:"); 120 book_Id = in.nextInt(); 121 System.out.print("请输入出库的数量:"); 122 book_Count = in.nextInt(); 123 // 删除图书数量 124 bm.delBookCount(book_Id, book_Count); 125 126 bm.findBookList(); 127 break; 128 case 3: 129 bm.findBookList(); 130 break; 131 case 4: 132 System.out.println("请输入图书信息-->"); 133 System.out.print("请输入书名:"); 134 book_name = in.next(); 135 System.out.print("请输入作者:"); 136 book_author = in.next(); 137 System.out.print("请输入出版时间:"); 138 book_date = in.next(); 139 System.out.print("请输入价格:"); 140 book_price = in.nextDouble(); 141 System.out.print("请输入库存:"); 142 book_count = in.nextInt(); 143 144 //新增图书 145 bm.addBookList(book_name, book_author, book_date, book_price, book_count); 146 147 break; 148 case 5: 149 System.out.println("感谢使用,退出系统。"); 150 flag = false; 151 break; 152 153 default: 154 System.out.println("您的输入有误!"); 155 break; 156 } 157 158 } 159 160 }else if (u.getType()==0 && u.getUsername()!=null) {//超级管理员界面 161 System.out.println("************欢迎使用管理员系统************"); 162 163 //查询所有用户 164 um.findUserList(); 165 System.out.println(); 166 167 //新增用户的信息 168 String newUserName; 169 String newPwd; 170 int newType; 171 172 //修改用户 173 String uName = null; 174 int uType = 0; 175 176 177 boolean flag = true; 178 179 //2-0超级管理员的操作 180 while (flag) { 181 System.out.println("请选择进行的操作:1.查看用户列表\t2.注册新用户\t3.修改用户\t4.删除用户\t5.退出"); 182 num = in.nextInt(); 183 184 switch (num) { 185 case 1: 186 um.findUserList(); 187 break; 188 case 2: 189 System.out.println("请输入注册用户信息-->"); 190 System.out.print("请输出用户名:"); 191 newUserName = in.next(); 192 System.out.print("请输入密码:"); 193 newPwd = in.next(); 194 System.out.print("请输入会员角色类型(1-用户、2-管理员):"); 195 newType = in.nextInt(); 196 197 um.addUser(newUserName,newPwd,newType); 198 199 break; 200 case 3: 201 System.out.println("请输入选择用户信息-->"); 202 System.out.print("请选择用户名:"); 203 uName = in.next(); 204 System.out.print("请修改会员角色类型(1-用户、2-管理员):"); 205 uType = in.nextInt(); 206 207 //修改用户的角色 208 um.updateUser(uName,uType); 209 um.findUserList(); 210 break; 211 case 4: 212 213 System.out.println("请输入要删除的用户信息-->"); 214 System.out.println("请输入要删除的用户的用户名:"); 215 216 uName = in.next(); 217 218 um.delUser(uName); 219 break; 220 case 5: 221 System.out.println("感谢使用,退出系统。"); 222 flag = false; 223 break; 224 default: 225 System.out.println("您的输入有误!"); 226 break; 227 } 228 229 } 230 231 232 }else if (u.getUsername()== null) {//用户名或者密码输入错误的情况 233 System.err.println("用户名或密码错误,请核对后重新启动系统进行登录!"); 234 } 235 } 236 237 } 238 239 }