Java基于socket网络编程的超市收银管理系统.docx

上传人:叶*** 文档编号:89133207 上传时间:2023-05-05 格式:DOCX 页数:30 大小:35.73KB
返回 下载 相关 举报
Java基于socket网络编程的超市收银管理系统.docx_第1页
第1页 / 共30页
Java基于socket网络编程的超市收银管理系统.docx_第2页
第2页 / 共30页
点击查看更多>>
资源描述

《Java基于socket网络编程的超市收银管理系统.docx》由会员分享,可在线阅读,更多相关《Java基于socket网络编程的超市收银管理系统.docx(30页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、package entity;import java.io.Serializable;/* * 收银类 * */SuppressWarnings(serial)public class Cash implements Serializable private String name;/ 商品名private String unit;/ 商品单位private int amount;/ 商品数量private double price;/ 商品单价private double money;/ 商品金额public Cash(String name, String unit, int amount

2、, double price, double money) this.name = name;this.unit = unit;this.amount = amount;this.price = price;this.money = money;public String getName() return name;public void setName(String name) this.name = name;public String getUnit() return unit;public void setUnit(String unit) this.unit = unit;publi

3、c int getAmount() return amount;public void setAmount(int amount) this.amount = amount;public double getPrice() return price;public void setPrice(double price) this.price = price;public double getMoney() return money;public void setMoney(double money) this.money = money;package entity;import java.io

4、.Serializable;/* * 商品类 * */SuppressWarnings(serial)public class ShangPin implements Serializable private String number;/ 商品编号private String spname;/ 商品名称private double price;/ 商品单价private String unit;/ 单位private int amount;/ 数量public String getNumber() return number;public void setNumber(String numb

5、er) this.number = number;public String getSpname() return spname;public void setSpname(String spname) this.spname = spname;public double getPrice() return price;public void setPrice(double price) this.price = price;public String getUnit() return unit;public void setUnit(String unit) this.unit = unit

6、;public int getAmount() return amount;public void setAmount(int amount) this.amount = amount;public ShangPin(String number, String spname, double price, String unit,int amount) this.number = number;this.spname = spname;this.price = price;this.unit = unit;this.amount = amount;package entity;/* * 用户类

7、*/import java.io.Serializable;SuppressWarnings(serial)public class User implements Serializable private String username;/ 用户名称private String password;/ 用户密码public String getUsername() return username;public void setUsername(String username) this.username = username;public String getPassword() return

8、 password;public void setPassword(String password) this.password = password;public User(String username, String password) this.username = username;this.password = password;package entity;import java.io.Serializable;/* * 会员类 * */SuppressWarnings(serial)public class Vip implements Serializable private

9、 String vipId;/ 会员卡号private int score;/ 会员积分public Vip(String vipId,int score)this.vipId = vipId;this.score = score;public String getVipId() return vipId;public void setVipId(String vipId) this.vipId = vipId;public int getScore() return score;public void setScore(int score) this.score = score;packag

10、e socket;/* * 客户端类 * */import java.io.InputStream;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.io.OutputStream;import .Socket;import java.text.SimpleDateFormat;import java.util.Date;import java.util.HashMap;import java.util.Map;import java.util.Scanner;import entity

11、.Cash;import entity.ShangPin;public class Client static Scanner input = new Scanner(System.in);private static Object receive;private static String username;static int count = 0;private static Object send(Map map) throws Exception,Exception / 发送方法Socket s = new Socket(127.0.0.1, 8800);OutputStream os

12、 = s.getOutputStream();ObjectOutputStream oos = new ObjectOutputStream(os);oos.writeObject(map);InputStream is = s.getInputStream();ObjectInputStream ois = new ObjectInputStream(is);receive = ois.readObject();/ 关闭流oos.close();os.close();is.close();ois.close();return receive;public static void main(S

13、tring args) throws Exception System.out.println(*欢迎使用青鸟超市管理系统*);System.out.println(1.登陆);System.out.println(2.退出系统);System.out.println(*请选择数字1/2*);while (true) int choose = input.nextInt();if (choose = 1) do System.out.print(用户名称:);username = input.next();System.out.print(用户密码:);String password = in

14、put.next();Map map = new HashMap();map.put(账号, username);map.put(密码, password);map.put(send, 登录);send(map);/ 库存管理员界面if (管理员.equals(receive) System.out.println(*欢迎登录青鸟超市库存管理系统*);admin(); else if (收银员.equals(receive) System.out.println(*欢迎登录青鸟超市收银系统*);cash(); else System.out.println(用户名或者密码输入错误!登录失败!)

15、; while (true); else if (choose = 2) System.out.println(您已经退出系统!);break; else System.out.println(输入错误!请重新选择数字1/2:);private static void admin() throws Exception / 管理员int choose;while (true) System.out.println(请选择进行的操作:1.商品入库 t 2.商品出库 t 3.新增商品 t 4.查询所有商品 t 5.按编号查询商品 t 6.退出);choose = input.nextInt();/

16、选择库存操作switch (choose) case 1:/ 入库in();break;case 2:/ 出库out();break;case 3:/ 新增add();break;case 4:/ 打印所有商品checkall();break;case 5:/ 按编号查询check();break;case 6:/ 退出System.out.println(谢谢使用!);break;default:System.out.println(对不起,您的输入有误,请重新输入!);break;SuppressWarnings(unchecked)private static void in() thr

17、ows Exception / 入库System.out.print(输入商品编号:);String number = input.next();Map map = new HashMap();map.put(编号, number);map.put(send, 查询编号);send(map);if (有此商品.equals(receive) System.out.print(入库数量:);String amount = input.next();if (num(amount) = true) int a = Integer.parseInt(amount);if (a = 0) map.put

18、(入库数量, amount);map.put(send, 入库);Map map1 = (Map) send(map);System.out.println(商品编号tt + 商品名称tt + 商品单价tt+ 单位tt + 数量);for (ShangPin iterable_element : map1.values() System.out.println(iterable_element.getNumber()+ tt + iterable_element.getSpname()+ tt + iterable_element.getPrice() + tt+ iterable_eleme

19、nt.getUnit() + tt+ iterable_element.getAmount(); else System.out.println(出库数量有误!); else System.out.println(没有此商品,请选择编号3:新增商品!);SuppressWarnings(unchecked)private static void out() throws Exception / 出库System.out.print(输入商品编号:);String number = input.next();Map map = new HashMap();map.put(编号, number);

20、map.put(send, 查询编号);send(map);if (有此商品.equals(receive) System.out.print(出库数量:);String amount = input.next();if (num(amount) = true) int a = Integer.parseInt(amount);if (a = 0) map.put(出库数量, amount);map.put(send, 出库);send(map);Map map1 = (Map) receive;if (a = map1.get(number).getAmount() System.out.p

21、rintln(商品编号tt + 商品名称tt+ 商品单价ttt + 单位ttt + 数量);for (ShangPin sp : map1.values() System.out.println(sp.getNumber() + tt+ sp.getSpname() + tt + sp.getPrice()+ tt + sp.getUnit() + tt+ sp.getAmount(); else System.out.println(库存不足,请核实,出库失败!);System.out.println(商品编号tt + 商品名称tt + 商品单价tt+ 单位tt + 数量);System.o

22、ut.println(map1.get(number).getNumber()+ tt + map1.get(number).getSpname()+ tt + map1.get(number).getPrice() + tt+ map1.get(number).getUnit() + tt+ map1.get(number).getAmount(); else System.out.println(出库数量有误!); else System.out.println(没有此商品!);SuppressWarnings(unchecked)private static void add() thr

23、ows Exception / 新增while (true) System.out.print(输入商品编号:);String number = input.next();Map map = new HashMap();map.put(编号, number);map.put(send, 查询编号);send(map);if (无此商品.equals(receive) System.out.print(输入商品名称:);String spname = input.next();System.out.print(输入商品价格:);String price = input.next();if (pr

24、ice(price) = true) System.out.print(输入商品单位:);String unit = input.next();System.out.print(输入商品数量:);String amount = input.next();if (num(amount) = true) map.put(send, 新增);map.put(名称, spname);map.put(价格, price);map.put(单位, unit);map.put(数量, amount);send(map);System.out.println(新增商品成功!);Map map2 = (Map)

25、 receive;System.out.println(商品编号tt + 商品名称tt+ 商品单价ttt + 单位ttt + 数量);for (ShangPin sp : map2.values() System.out.println(sp.getNumber() + tt+ sp.getSpname() + tt + sp.getPrice()+ tt + sp.getUnit() + tt+ sp.getAmount();break; else System.out.println(此编号已存在);continue;SuppressWarnings(unchecked)private s

26、tatic void checkall() throws Exception / 查询全部Map map = new HashMap();map.put(send, 查询全部);send(map);Map map1 = (Map) receive;System.out.println(商品编号tt + 商品名称tt + 商品单价tt + 单位tt+ 数量);for (ShangPin sp : map1.values() System.out.println(sp.getNumber() + tt + sp.getSpname()+ tt + sp.getPrice() + tt + sp.g

27、etUnit() + tt+ sp.getAmount();SuppressWarnings(unchecked)private static void check() throws Exception / 查询号查询System.out.print(输入商品编号:);String number = input.next();Map map = new HashMap();map.put(编号, number);map.put(send, 查询编号);send(map);if (有此商品.equals(receive) map.put(send, 查询号查询);send(map);Map ma

28、p1 = (Map) receive;System.out.println(商品编号tt + 商品名称tt + 商品单价ttt+ 单位ttt + 数量);for (ShangPin sp : map1.values() System.out.println(sp.getNumber() + tt + sp.getSpname()+ tt + sp.getPrice() + tt + sp.getUnit()+ tt + sp.getAmount(); else System.out.println(对不起,没有此商品!);private static void cash() throws Ex

29、ception / 收银int choose;while (true) System.out.println(请选择进行的操作:1.扫描商品 t 2.修改数量 t 3.结账 t 4.退出);choose = input.nextInt();/ 选择库存操作switch (choose) case 1:/ 扫描scan();break;case 2:/ 修改数量modify();break;case 3:/ 新增checkout();break;case 4:/ 退出System.out.println(谢谢使用!);break;default:System.out.println(对不起,您的

30、输入有误,请重新输入!);break;SuppressWarnings(unchecked)public static void scan() throws Exception / 扫描商品System.out.print(输入需要扫描的商品编号:);String number = input.next();Map map = new HashMap();map.put(编号, number);map.put(send, 查询编号);send(map);if (有此商品.equals(receive) System.out.println(扫描成功!);count+;String c = St

31、ring.valueOf(count);map.put(send, 扫描);map.put(扫描次数, c);send(map);Map map2 = (Map) receive;System.out.println(商品名称tttt + 数量tt + 单价tt + 金额);System.out.println(-);for (Cash cash : map2.values() System.out.println(cash.getName() + cash.getUnit() + tt+ cash.getAmount() + tt + cash.getPrice() + tt+ cash.g

32、etMoney();System.out.println(-); else System.out.println(对不起,没有此商品,扫描失败);SuppressWarnings(unchecked)public static void modify() throws Exception / 修改购买数量Map map = new HashMap();if (count != 0) while (true) System.out.print(输入需要修改的商品编号:);String number = input.next();map.put(编号, number);map.put(send,

33、查询编号);send(map);if (有此商品.equals(receive) map.put(编号, number);map.put(send, 检测是否扫描);send(map);if (已被扫描.equals(receive) System.out.print(输入修改数量:);String amount = input.next();if (num(amount) = true) int a = Integer.parseInt(amount);if (a = 0) map.put(数量, amount);map.put(send, 修改数量);send(map);Map map2

34、= (Map) receive;System.out.println(商品名称tttt + 数量tt+ 单价tt + 金额);System.out.println(-);for (Cash cash : map2.values() System.out.println(cash.getName()+ cash.getUnit() + tt+ cash.getAmount() + tt+ cash.getPrice() + tt+ cash.getMoney();System.out.println(-); else System.out.println(修改数量有误!);break;break; else System.out.println(没有扫描此商品。);continue; else System.out.println(对不起,没有此商品,扫描失败!);break; else System.out.println(您还没有扫描商品!);SuppressWarnings(unchecked)public static void checkout

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作总结

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁