收藏 分销(赏)

学士后java第一单元超市收银系统.docx

上传人:xrp****65 文档编号:8876398 上传时间:2025-03-06 格式:DOCX 页数:33 大小:42.57KB 下载积分:10 金币
下载 相关 举报
学士后java第一单元超市收银系统.docx_第1页
第1页 / 共33页
学士后java第一单元超市收银系统.docx_第2页
第2页 / 共33页


点击查看更多>>
资源描述
版权所有人:李蒙 学士后java 第一单元,超市收银系统,代码 首先分为4个包 9个类 一个源文件 首先源文件 起名 sys.properties 源文件内容: HOST= localhost PORT=8888 Clientjiemian类的内容: import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.Scanner; import publiClass.Datas; import publiClass.SysConstants; import datas.Shangpin; import datas.Yuangong; public class ClientJiemian { //控制台输入对象 private static Scanner input = new Scanner(System.in); //客户端业务对象 private static ClientYehu clientyehu =new ClientYehu(); public static void main(String[] args) { System.out.println("**************************************************************************************************"); System.out.println("\t\t\t\t\t欢迎使用青鸟超市管理系统"); do { System.out.println("1. 登陆\n2. 退出系统"); System.out.println("=============================================请选择1/2=============================================="); String a = input.next(); if (a.equalsIgnoreCase("1")) { createLoginView(); break; } else if (a.equalsIgnoreCase("2")) { System.out.println("系统退出成功!"); break; } else System.out.println("您选择有误!请重新选择"); } while (true); }//实现客户端登陆视图的生成 public static void createLoginView(){ do { System.out.println("请输入用户名:"); String name = input.next(); System.out.println("请输入密码:"); String password = input.next(); Datas datas = clientyehu.doLogin(name, password); //判断是管理员还是收银员 if (datas.getFlag().equals(SysConstants.SYS_ADMIN)) { createAdminView(); break; } else if (datas.getFlag().equals(SysConstants.SYS_USER)) { createUserView(); break; } else { System.out.println("用户名或密码有误,请重新输入"); } } while (true); } //实现客户端超市库存管理系统视图的生成 private static void createAdminView() { System.out .println("***********************************欢迎登陆青鸟超市库存管理系统*******************************************"); do { System.out .println("请选择进行的操作:1. 商品入库\t2. 商品出库\t3. 新增商品\t4. 查看全部商品\t5. 按编号查询商品\t6. 退出"); String option = input.next(); // 商品入库 if (option.equals("1")) { String id = null; int num = 0; System.out.print("请输入商品编号:"); id = input.next(); if (clientyehu.doFind(id).getFlag() .equals(SysConstants.SYS_ERROR)) { System.out.println("没有此商品,请选择3:新增商品!"); look(clientyehu.doFindAll()); } else { System.out.print("请输入入库数量:"); num = input.nextInt(); if (num > 0) { if (clientyehu.doRuku(id, num).getFlag() .equals(SysConstants.SYS_SUCCESS)) { System.out.println("入库成功!"); look(clientyehu.doFindAll()); } } else { System.out.println("入库失败!数量必须大于0"); } } } else if (option.equals("2")) { String id = null; int num = 0; do { System.out.print("请输入商品编号:"); id = input.next(); Datas data = clientyehu.doFind(id); if (data.getFlag().equals(SysConstants.SYS_ERROR)) { System.out.println("没有此商品!"); } else { System.out.print("请输入出库数量:"); num = input.nextInt(); if (num > 0) { Datas datas = clientyehu.doChuku(id, num); if (datas.getFlag().equals(SysConstants.SYS_LACK)) { System.out.println("库存不足,请核实,出库失败"); perlook(data); break; } else { System.out.println("出库成功!"); look(clientyehu.doFindAll()); break; } } else { System.out.println("出库失败!数量必须大于0"); break; } } } while (true); } /** * 新增商品 */ else if (option.equals("3")) { do { System.out.print("请输入编号"); String id = input.next(); if (clientyehu.doFind(id).getFlag() .equals(SysConstants.SYS_SUCCESS)) { System.out.println("此商品编号已存在!"); } else { System.out.print("请输入商品名称:"); String name = input.next(); System.out.print("请输入商品价格:"); double d = input.nextDouble(); System.out.print("请输入商品单位:"); String w = input.next(); System.out.print("请输入商品数量:"); Shangpin shangpin = new Shangpin(id, name, d, w, input.nextInt()); clientyehu.doAdd(shangpin); System.out.println("新增商品成功!"); look(clientyehu.doFindAll()); break; } } while (true); } // 查看全部商品 else if (option.equals("4")) { look(clientyehu.doFindAll()); } // 编号查询商品 else if (option.equals("5")) { System.out.print("请输入商品编号:"); String id = input.next(); Datas data = clientyehu.doFind(id); if (data.getFlag().equals(SysConstants.SYS_SUCCESS)) perlook(data); else { System.out.println("对不起,没有此商品!"); } } // 退出系统 else if (option.equals("6")) { System.out.println("系统退出成功!"); return; } else { System.out.println("您输入有误!"); } } while (true); } //实现客户端超市收银管理系统视图的生成 private static void createUserView() { System.out .println("***********************************欢迎登陆青鸟超市收银系统*******************************************"); do { System.out.println("请选择进行的操作: 1. 扫描商品\t2. 修改数量\t3. 结账\t4. 退出"); String option = input.next(); if (option.equals("1")) { System.out.print("请输入商品编号:"); String id = input.next(); if (clientyehu.doFind(id).getFlag() .equals(SysConstants.SYS_SUCCESS)) { System.out.println("扫描成功"); show(clientyehu.doScan(id)); } else { System.out.println("对不起,没有此商品,扫描失败!"); show(clientyehu.doResult()); } } // 修改商品 else if (option.equals("2")) { if (clientyehu.doResult().getFlag() .equals(SysConstants.SYS_ERROR)) { System.out.println("您还没有扫描商品!"); continue; } do { System.out.print("请输入要修改的商品编号:"); String id = input.next(); if (hasGoods(id)) { System.out.print("请输入修改数量:"); Datas datas = null; if (input.hasNextInt()) { int a = input.nextInt(); if (a > 1) { datas = clientyehu.doUpDate(id, a); if (datas.getFlag().equals( SysConstants.SYS_LACK)) { System.out.println("数量不足!请确认!!"); perlook(clientyehu.doFind(id)); continue; } else { System.out.println("修改成功!"); show(clientyehu.doResult()); break; } } else { System.out.println("数量必须大于0!"); continue; } } else { input.next(); System.out.println("请输入正确格式!"); continue; } } System.out.println("对不起,还没有扫描此商品!"); } while (true); } // 结账 else if (option.equals("3")) { createover(); } else if (option.equals("4")) { return; } else { System.out.println("您输入有误,请确认!"); } } while (true); } private static void createover() { double price = sum(clientyehu.doResult()); if (price != 0) { System.out.println("总金额为: " + price); System.out.println("请选择: 1. 普通结账\t2. 会员结账"); String a = input.next(); if (a.equals("1")) { System.out.print("请输入金额:"); int money = 0; do { Scanner input = new Scanner(System.in); if (input.hasNextInt()) { money = input.nextInt(); if (money < 0) { System.out.print("请输入正确金额:"); } if (money < price) { System.out.print("金额不足!请确认:"); } if (money >= price) { createResult(money, price); break; } } else { System.out.print("请输入正确格式:"); } } while (true); } else if (a.equals("2")) { System.out.print("请输入您的会员卡号:"); String vip = input.next(); if (vip.equals("2012")) { System.out.print("会员卡号正确,请输入您要支付的金额:"); int money = 0; do { Scanner input = new Scanner(System.in); if (input.hasNextInt()) { money = input.nextInt(); if (money < 0) { System.out.println("请输入正确金额:"); } if (money < price) { System.out.println("金额不足!请确认:"); } if (money >= price) { createvipResult(money, price); break; } } else { System.out.print("请输入正确格式:"); } } while (true); } else { System.out.println("对不起,会员卡号错误!"); createover(); } } else { System.out.println("您输入有误!"); } } else { System.out.println("您还没有扫描商品"); } } private static void perlook(Datas data) { System.out .println("------------------------------------------------------------------------------------------------"); System.out.println("商品编号\t\t商品名称\t\t商品单价\t\t单位\t\t数量"); System.out.println(data.getShangpin().getSerialNumber() + "\t\t" + data.getShangpin().getName() + "\t" + data.getShangpin().getPrice() + "\t\t" + data.getShangpin().getUnit() + "\t\t" + data.getShangpin().getStock()); System.out .println("------------------------------------------------------------------------------------------------"); } private static void look(Datas doFindAll) { System.out .println("------------------------------------------------------------------------------------------------"); ArrayList<Shangpin> list = (ArrayList<Shangpin>) doFindAll.getSumArray(); System.out.println("商品编号\t\t商品名称\t\t商品单价\t\t单位\t\t数量"); for (Shangpin goods : list) { System.out.println(goods.getSerialNumber() + "\t\t" + goods.getName() + "\t" + goods.getPrice() + "\t\t" + goods.getUnit() + "\t\t" + goods.getStock()); } System.out .println("------------------------------------------------------------------------------------------------"); } private static void createResult(int money, double price) { System.out .println("***************************************************************************************************"); System.out.println("\t\t\t\t青鸟超市"); System.out.println("收银员:1001\t小票号:" + ticket()); display(); System.out.println("总数量:" + clientyehu.doResult().getBuyArray().size() + "\t\t应收: " + price); System.out.println("实收: " + money + "\t\t找零: " + (money - price)); System.out.println(date()); System.out.println("此小票是您退换货及核对积分的凭证,请妥善保存!"); System.out .println("=================================================================================================="); clientyehu.doClear(); } private static String date() { Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd/ hh/mm/ss"); String dat = sdf.format(date); return dat; } private static void display() { ArrayList<Shangpin> list = clientyehu.doResult().getBuyArray(); System.out.println("序\t\t商品名称\t\t\t\t数量\t\t单位\t\t金额"); System.out .println("------------------------------------------------------------------------------------------------"); for (int i = 0; i < list.size(); i++) { System.out.println(i + 1 + "\t\t" + "[" + list.get(i).getSerialNumber() + "]" + list.get(i).getName() + list.get(i).getUnit() + "\t\t" + list.get(i).getStock() + "\t\t" + list.get(i).getPrice() + "\t\t" + list.get(i).getStock() * list.get(i).getPrice()); } System.out .println("------------------------------------------------------------------------------------------------"); } private static String ticket() { Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddhhmm"); String ticket = sdf.format(date) + (int) (Math.random() * 1000); return ticket; } private static void createvipResult(double money, double price) { System.out .println("***************************************************************************************************"); System.out.println("\t\t\t青鸟超市"); System.out.println("收银员:1001\t小票号:" + ticket()); display(); System.out.println("总数量:" + clientyehu.doResult().getBuyArray().size() + "\t\t应收: " + price); System.out.println("实收: " + money + "\t\t找零: " + (money - price)); System.out.println("本次累计积分成功\t 卡号:2012"); System.out.println("当前积分+本次消费积分+消费后积分"); System.out.println("2000+" + price + "=" + (2000 + price)); System.out.println(date()); System.out.println("此小票是您退换货及核对积分的凭证,请妥善保存!"); System.out .println("================================================================================================"); clientyehu.doClear(); } private static double sum(Datas doResult) { if (doResult.getFlag().equals(SysConstants.SYS_SUCCESS)) { ArrayList<Shangpin> list = doResult.getBuyArray(); double sum = 0; for (int i = 0; i < list.size(); i++) { sum += list.get(i).getPrice() * list.get(i).getStock(); } return sum; } else return 0; } private static boolean hasGoods(String id) { if (clientyehu.doResult().getFlag().equals(SysConstants.SYS_SUCCESS)) { ArrayList<Shangpin> list = clientyehu.doResult().getBuyArray(); for (int i = 0; i < list.size(); i++) { if (list.get(i).getSerialNumber().equals(id)) { return true; } } } return false; } private static void show(Datas doScan) { if (doScan.getFlag().equals(SysConstants.SYS_SUCCESS)) { ArrayList<Shangpin> list = doScan.getBuyArray(); System.out.println("商品名称\t\t\t\t数量\t\t单价\t\t金额"); System.out .println("-----------------------------------------------------------------------------------------------"); for (int i = 0; i < list.size(); i++) { System.out.println("[" + list.get(i).getSerialNumber() + "]" + list.get(i).getName() + list.get(i).getUnit() + "\t\t" + list.get(i).getStock() + "\t\t" + list.get(i).getPrice() + "\t\t" + list.get(i).getPrice() * list.get(i).getStock()); } System.out .println("------------------------------------------------------------------------------------------------"); } } } Clientyehu类的内容 import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import .Socket; import .UnknownHostException; import publiClass.Datas; import publiClass.SysConstants; import publiClass.Tools; import datas.Shangpin; import datas.Yuangong; //用socket实现它与服务器的交互 public class ClientYehu { //创建socket实例 Socket socket =new Socket(); //创建输入流对象 ObjectInputStream objectInputStream =null; //创建输出流对象 ObjectOutputStream objectOutputStream =null; private void initSocket(){ //实例化socket关联对象 String hostname = Tools.getVlaue(SysConstants.SYS_HOSTNAME); int port = Integer.parseInt(Tools.getVlaue(SysConstants.SYS_LISTENERPORT)); try { socket = new Socket(hostname,port); //?????? objectInputStream =new ObjectInputStream(socket.getInputStream()); objectOutputStream=new ObjectOutputStream(socket.getOutputStream()); } catch (UnknownHostExcept
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服