包结构四个包,九个类,一个资源文件客户端类packagecom.supermarket.Client;/***客户端界面*/importjava.text.SimpleDateFormat;importjava.util.ArrayList;importjava.util.Date;importjava.util.Scanner;importcom.supermarket.Tools.Datas;importcom.supermarket.Tools.SysConstans;importcom.supermarket.entity.Goods;publicclassClient{//定义扫描器,用于键盘输入publicstaticScannerinput=newScanner(System.in);//创建客户端业务类对象,调用方法publicstaticClientBcb=newClientB();publicstaticvoidmain(String[]args){do{System.out.println("***********欢迎使用青鸟超市系统*************");System.out.println("1.登录"+"\n2.退出");System.out.println("***********请选择1/2*************");Stringchoice=input.next();if(choice.equals("1")){//登录视图createLoginView();break;}elseif(choice.equals("2")){//退出System.exit(0);}else{//输入有误,报错System.out.println("无此选项!");}}while(true);System.out.println("***********谢谢使用青鸟超市系统*************");}/***登录视图*通过输入的用户名与密码验证用户身份,管理员则进入管理界面,收银员则进入收银界面,都不是则提示错误,并重新进行输入*/publicstaticvoidcreateLoginView(){do{//提示登录信息System.out.println("请输入用户名:");Stringname=input.next();System.out.println("请输入密码:");Stringpassword=input.next();//调用客户端登录方法,接收返回值,判断登录者的身份Datasdatas=cb.doLogin(name,password);//判断是管理员还是收银员if(datas.getFlag().equals(SysConstans.SYS_ADMIN)){createAdminView();break;}elseif(datas.getFlag().equals(SysConstans.SYS_CASHIER)){createCashierView();break;}else{System.out.println("用户名或密码有误,请重新输入");}}while(true);}/***管理员菜单*实现管理员功能:*1.商品入库2.商品出库3.新增商品4.查询全部商品5.按编号查询商品6.退出*/privatestaticvoidcreateAdminView(){//循环操作//管理员菜单System.out.println("管理员登录成功,进入管理员界面");do{System.out.println("***********欢迎进入青鸟超市库存管理系统*************");System.out.println("1.商品入库\t2.商品出库\t3.新增商品\t4.查询全部商品\t5.按序号查询商品\t6.退出");//提示用户选择System.out.println("请输入您的选择");intchoice=input.nextInt();switch(choice){//商品入库,调入库方法case1://提示输入要入库的编号System.out.println("请输入入库商品编号:");//定义变量接收输入的编号Stringgoodnum=input.next();//调用方法判断库存中是否有要入库的商品if(cb.Find(goodnum).getFlag().equals(SysConstans.SYS_SUCCESS)){System.out.println("请输入入库数量:");intcount=input.nextInt();if(count>=0){Datasdatas=cb.RuKu(goodnum,count);if(datas.getFlag().equals(SysConstans.SYS_SUCCESS)){System.out.println("入库成功!");showList(cb.FindAll());}}else{System.out.println("入库数量必须大于0");}}else{System.out.println("无此商品,请选择3新增");}break;//商品出库,调出库方法case2:do{//提示输入出库商品编号System.out.println("请选择出库商品编号:");//定义变量接收编号Stringgoodid=input.next();//先查询是否由此商品if(cb.Find(goodid).getFlag().equals(SysConstans.SYS_SUCCESS)){//提示输入出库数量System.out.println("请输入出库数量:");intcount=input.nextInt();if(count>0){Datasdatas=cb.ChuKu(goodid,count);if(datas.getFlag().equals(SysConstans.SYS_LACK)){System.out.println("库存不足!");showGood(datas);break;}else{System.out.println("出库成功!");showList(datas);break;}}else{System.out.println("出库数量必须大于0!");}}else{System.out.println("库存中无此商品,请选择3新增");break;}}while(true);break;case3://新增商品,调新增方法do{//提示输入新增商品编号System.out.println("请输入新增商品的编号:...