模仿图书系统,实现前台和后台操作
来源:互联网 发布:未激活离线加速 mac 编辑:程序博客网 时间:2024/06/03 17:57
首先将用户名密码封装到一个类中,另一个类保存图书信息。
package com.jereh4;import java.util.ArrayList;import java.util.List;class Book{ private List bookList ; public List getList(){ bookList = new ArrayList(); bookList.add(10001); bookList.add("天空"); bookList.add("张三"); bookList.add("2012-06"); bookList.add(23.5); bookList.add(30); bookList.add(10002); bookList.add("购物"); bookList.add("李四"); bookList.add("2013-11"); bookList.add(33.7); bookList.add(28); bookList.add(10003); bookList.add("美女"); bookList.add("王五"); bookList.add("2014-03"); bookList.add(63.2); bookList.add(48); bookList.add(10004); bookList.add("交流"); bookList.add("赵六"); bookList.add("2015-09"); bookList.add(16.4); bookList.add(52); return bookList; }}public class Information { private String username = "user"; private int password = 123; private String admin = "admin"; private int pwd = 888 ; public String getUsername(){ return username; } public int getPassword(){ return password; } public String getAdmin(){ return admin; } public int getPwd(){ return pwd; }}
然后主代码实现(假设用户都是善良的用户,不去刻意找BUG):
package com.jereh4;import java.util.*;public class Demo_bing { public static void main(String[] args){ System.out.println("*******************欢迎使用图书书店*******************"); // Information类中保存用户名和密码,Book类中保存现有图书,定义List容器保存图书信息. Scanner scn = new Scanner(System.in); Information message = new Information(); Book book = new Book(); List list = new ArrayList(); List bookList = book.getList(); // 获取Information类中用户名和密码. String user = message.getUsername(); int password = message.getPassword(); String admin = message.getAdmin(); int pwd = message.getPwd(); /* * 定义passInput表示输入的密码,count判断是否输出容器元素,chooseNum表示选择操作,bookId表示图书号,bookNum表示图书数量,firstPosition表示 * 每行的第一个位置,lastPosition表示每行的最后一个位置,jadge判断进行了哪种操作,bookPrice表示图书价格,chr判断是否继续操作,userInput表示 * 输入的用户名,bookName表示输入的图书书名,date表示出版日期,bookActor表示图书作者. * */ int passInput = 0 , count = -1 ,chooseNum = 0 , bookId = 0 , bookNum = 0 , firstPosition = 0 , lastPosition = 0 , jadge = 0; double bookPrice = 0 ; char chr = 'y'; String userInput = null , bookName = null , date = null , bookActor = null ; while(true){ System.out.println("请输入用户名:"); userInput = scn.next(); System.out.println("请输入密码:"); passInput = scn.nextInt(); // if-else判断输入的信息,进入不同的界面. if(userInput.equals(user) && passInput == password){ System.out.println("登录成功,尊敬的用户您好!\n"); while(true){ System.out.println("\t\t\t*******************欢迎使用网上购书系统*******************\n"); System.out.println("\t\t书号\t\t书名\t\t作者\t\t发布日期\t\t价格\t\t库存"); // 用for循环来输出容器中图书的信息. for(int j = 0 , m = 1; j < bookList.size();j++,m++){ if(firstPosition == 0){ System.out.print("\t\t"+bookList.get(j)); if(m%6==0&&m>0) System.out.println(); } } System.out.print("\n"); System.out.println("*******************请选择进行的操作:\t1.查看图书\t2.购买图书\t3.退出系统\t*******************"); chooseNum = scn.nextInt(); switch(chooseNum){ case 1: System.out.println("\t\t\t*********您选择了查看图书的操作,以下是本店的图书*********"); System.out.print("\n"); System.out.println("\t\t书号\t\t书名\t\t作者\t\t发布日期\t\t价格\t\t库存"); // 用for循环来输出容器中图书的信息. for(int j = 0 , m = 1; j < bookList.size();j++,m++){ if(firstPosition == 0){ System.out.print("\t\t"+bookList.get(j)); if(m%6==0&&m>0) System.out.println(); } } System.out.print("\n"); System.out.println("是否继续操作?(y/n)"); chr = scn.next().charAt(0); if(chr == 'y'){ break; }else{ System.out.println("谢谢您的使用,欢迎再来!"); System.exit(0); } break; case 2: System.out.println("\t\t\t*********您选择了购买图书的操作,以上是本店的图书*********"); System.out.print("\n"); System.out.println("***请输入您要购买的图书信息***"); System.out.print("\n"); System.out.print("请输入图书ID:"); bookId = scn.nextInt(); System.out.print("请输入购买数量:"); bookNum = scn.nextInt(); // 用for循环来查找输入的书号,并取出此行中其他信息. for(int i = 0; i <= 18; i+=6 ){ if(bookId == (Integer)bookList.get(i)){ bookName = (String) bookList.get(i+1); bookPrice = (Double) bookList.get(i+4); } } System.out.print("\n"); System.out.println("您选择了《"+bookName+"》,单价¥:"+bookPrice+"元"); System.out.println("您选择的购买数量为:"+bookNum+"本"); System.out.println("总共消费:"+bookNum*bookPrice+"元"); System.out.print("\n"); System.out.println("是否继续操作?(y/n)"); chr = scn.next().charAt(0); if(chr == 'y'){ break; }else{ System.out.println("谢谢您的使用,欢迎再来!"); System.exit(0); } break; case 3: System.out.println("谢谢您的使用,欢迎再来!"); System.exit(0); break; default: System.out.println("***输入有误,请重新输入***"); break; } } }else if(userInput.equals(admin) && passInput == pwd){ System.out.println("登录成功,尊敬的管理员您好,欢迎来到系统后台!\n"); while(true){ System.out.println("\t\t\t*******************欢迎使用图书管理系统*******************\n"); System.out.print("\n"); System.out.println("\t\t书号\t\t书名\t\t作者\t\t发布日期\t\t价格\t\t库存"); count = 0; while(count != -1){ // 用for循环来输出容器中图书的信息. for(int j = 0 , m = 1; j < bookList.size();j++,m++){ System.out.print("\t\t"+bookList.get(j)); if(m%6==0&&m>0) System.out.println(); } /* * 用for循环来输出新添加到容器中图书的信息,firstPosition值若不为0则表示已经过入库或出口操作,用jadge判断进行入库或出库操作, * 更新对应的数据. * */ for(int j = 0 , m = 1; j < list.size();j++,m++){ if(firstPosition == 0){ System.out.print("\t\t"+list.get(j)); if(m%6==0&&m>0) System.out.println(); }else if(jadge==1){ for(int q = 0; q <= list.size(); q+=6){ if(firstPosition == (Integer)list.get(q)){ int num = lastPosition+(Integer)list.get(q+5); list.remove(q+5); list.add(q+5 , num); firstPosition = 0; j--; m--; break; } } }else if(jadge==2){ for(int q = 0; q <= list.size(); q+=6){ if(firstPosition == (Integer)list.get(q)){ int num = (Integer)list.get(q+5) - lastPosition; list.remove(q+5); list.add(q+5 , num); firstPosition = 0; j--; m--; break; } } } } break; } System.out.print("\n"); System.out.println("***************请选择进行的操作:\t1.图书入库\t2.图书出库\t3.新增图书\t4.退出系统\t***************"); chooseNum = scn.nextInt(); switch(chooseNum){ case 1: System.out.println("\t\t\t*********您选择了图书入库的操作,以上是本店的图书*********"); System.out.print("\n"); System.out.println("***请输入您要入库的图书信息***"); System.out.print("\n"); System.out.print("请输入您要入库的图书ID:"); bookId = scn.nextInt(); System.out.print("请输入您要入库的图书数量:"); bookNum = scn.nextInt(); jadge = 1; firstPosition = bookId ; lastPosition = bookNum; // 用for循环来查找输入的书号,并取出此行中其他信息. for(int i = 0; i <= 18; i+=6 ){ if(firstPosition == (Integer)bookList.get(i)){ int num = (Integer)bookList.get(i+5) + lastPosition; bookList.remove(i+5); bookList.add(i+5 , num); } } System.out.print("\n"); System.out.println("是否确定入库?(y/n)"); chr = scn.next().charAt(0); if(chr == 'y'){ break; }else{ System.out.println("谢谢您的使用,欢迎再来!"); System.exit(0); } break; case 2: System.out.println("\t\t\t*********您选择了图书出库的操作,以上是本店的图书*********"); System.out.print("\n"); System.out.println("***请输入您要出库的图书信息***"); System.out.print("\n"); System.out.print("请输入您要出库的图书ID:"); bookId = scn.nextInt(); System.out.print("请输入您要出库的图书数量:"); bookNum = scn.nextInt(); jadge = 2; firstPosition = bookId ; lastPosition = bookNum; // 用for循环来查找输入的书号,并取出此行中其他信息. for(int i = 0; i <= 18; i+=6 ){ if(firstPosition == (Integer)bookList.get(i)){ int num = (Integer)bookList.get(i+5) - lastPosition; bookList.remove(i+5); bookList.add(i+5 , num); } } System.out.print("\n"); System.out.println("是否确定出库?(y/n)"); chr = scn.next().charAt(0); if(chr == 'y'){ break; }else{ System.out.println("谢谢您的使用,欢迎再来!"); System.exit(0); } break; case 3: System.out.println("\t\t\t*********您选择了新增图书的操作,请输入图书信息*********"); System.out.print("\n"); System.out.println("***请输入您要新增的图书信息***"); System.out.print("\n"); System.out.print("请输入图书ID:"); bookId = scn.nextInt(); System.out.print("请输入图书书名:"); bookName = scn.next(); System.out.print("请输入图书作者:"); bookActor = scn.next(); System.out.print("请输入出版时间:"); date = scn.next(); System.out.print("请输入图书价格:"); bookPrice = scn.nextDouble(); System.out.print("请输入图书数量:"); bookNum = scn.nextInt(); // 用while循环添加图书信息到容器中. while(true){ list.add(bookId); count ++; list.add(bookName); count ++; list.add(bookActor); count ++; list.add(date); count ++; list.add(bookPrice); count ++; list.add(bookNum); count ++; break; } System.out.print("\n"); System.out.println("是否确定新增?(y/n)"); chr = scn.next().charAt(0); if(chr == 'y'){ break; }else{ System.out.println("谢谢您的使用!"); System.exit(0); } break; case 4: System.out.println("谢谢您的使用!"); System.exit(0); break; default: System.out.println("***输入有误,请重新输入***"); break; } } }else{ System.out.println("帐号或密码错误,请重新输入!"); System.out.print("\n"); } } }}
1 0
- 模仿图书系统,实现前台和后台操作
- 图书管理系统(前台加后台管理)
- JSON 前台和后台相关操作
- json数组实现图书管理系统——图书管理、查询、前台分页功能
- java实现前台分页和后台分页
- 前台系统和后台系统中异常的设计
- sprngMVC和json实现前台和后台数据交换
- 实现图书管理系统
- 图书管理系统实现
- 后台动态生成文章名,前台js实现点文章名进入指定文章,打通前台与后台的操作。
- 图书管理系统之图书信息管理实现
- 多线程-前台和后台线程
- 前台和后台 [ 打印 ]功能
- 前台线程和后台线程
- 前台线程和后台线程
- 前台和后台数据分离
- 前台进程和后台进程
- 前台线程和后台线程
- python 快速排序
- uva 10129 并查集的运用
- json 接口定义坑
- 小心别让圆角成了你列表的帧数杀手
- 8.7省选模拟总结
- 模仿图书系统,实现前台和后台操作
- 唯一分解定理
- 置换及其应用
- Lingo超经典案例大全
- 宋宝华 DTS
- opencv3.0 河冰识别(持续更新中)
- Linux端口的关闭和启用
- zoj1016 Parencodings(括号匹配变形:STL栈处理+模拟)
- A. Lineland Mail