Java基于socket网络编程的超市收银管理系统Word文件下载.docx
- 文档编号:21874425
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:35
- 大小:29.93KB
Java基于socket网络编程的超市收银管理系统Word文件下载.docx
《Java基于socket网络编程的超市收银管理系统Word文件下载.docx》由会员分享,可在线阅读,更多相关《Java基于socket网络编程的超市收银管理系统Word文件下载.docx(35页珍藏版)》请在冰豆网上搜索。
publicvoidsetName(Stringname){
publicStringgetUnit(){
returnunit;
publicvoidsetUnit(Stringunit){
publicintgetAmount(){
returnamount;
publicvoidsetAmount(intamount){
publicdoublegetPrice(){
returnprice;
publicvoidsetPrice(doubleprice){
publicdoublegetMoney(){
returnmoney;
publicvoidsetMoney(doublemoney){
}
*商品类
publicclassShangPinimplementsSerializable{
privateStringnumber;
//商品编号
privateStringspname;
//商品名称
//单位
//数量
publicStringgetNumber(){
returnnumber;
publicvoidsetNumber(Stringnumber){
this.number=number;
publicStringgetSpname(){
returnspname;
publicvoidsetSpname(Stringspname){
this.spname=spname;
publicShangPin(Stringnumber,Stringspname,doubleprice,Stringunit,
intamount){
*用户类
publicclassUserimplementsSerializable{
privateStringusername;
//用户名称
privateStringpassword;
//用户密码
publicStringgetUsername(){
returnusername;
publicvoidsetUsername(Stringusername){
this.username=username;
publicStringgetPassword(){
returnpassword;
publicvoidsetPassword(Stringpassword){
this.password=password;
publicUser(Stringusername,Stringpassword){
*会员类
publicclassVipimplementsSerializable{
privateStringvipId;
//会员卡号
privateintscore;
//会员积分
publicVip(StringvipId,intscore){
this.vipId=vipId;
this.score=score;
publicStringgetVipId(){
returnvipId;
publicvoidsetVipId(StringvipId){
publicintgetScore(){
returnscore;
publicvoidsetScore(intscore){
packagesocket;
*客户端类
importjava.io.InputStream;
importjava.io.ObjectInputStream;
importjava.io.ObjectOutputStream;
importjava.io.OutputStream;
import.Socket;
importjava.text.SimpleDateFormat;
importjava.util.Date;
importjava.util.HashMap;
importjava.util.Map;
importjava.util.Scanner;
importentity.Cash;
importentity.ShangPin;
publicclassClient{
staticScannerinput=newScanner(System.in);
privatestaticObjectreceive;
privatestaticStringusername;
staticintcount=0;
privatestaticObjectsend(Map<
String,String>
map)throwsException,
Exception{//发送方法
Sockets=newSocket("
127.0.0.1"
8800);
OutputStreamos=s.getOutputStream();
ObjectOutputStreamoos=newObjectOutputStream(os);
oos.writeObject(map);
InputStreamis=s.getInputStream();
ObjectInputStreamois=newObjectInputStream(is);
receive=ois.readObject();
//关闭流
oos.close();
os.close();
is.close();
ois.close();
returnreceive;
publicstaticvoidmain(String[]args)throwsException{
System.out.println("
***********欢迎使用青鸟超市管理系统****************"
);
1.登陆"
2.退出系统"
**************请选择数字1/2************"
while(true){
intchoose=input.nextInt();
if(choose==1){
do{
System.out.print("
用户名称:
"
username=input.next();
用户密码:
Stringpassword=input.next();
Map<
map=newHashMap<
();
map.put("
账号"
username);
密码"
password);
send"
"
登录"
send(map);
//库存管理员界面
if("
管理员"
.equals(receive)){
System.out
.println("
*********欢迎登录青鸟超市库存管理系统*************"
admin();
}elseif("
收银员"
*********欢迎登录青鸟超市收银系统*************"
cash();
}else{
System.out.println("
用户名或者密码输入错误!
登录失败!
}
}while(true);
}elseif(choose==2){
System.out.println("
您已经退出系统!
break;
}else{
输入错误!
请重新选择数字1/2:
}
}
privatestaticvoidadmin()throwsException{//管理员
intchoose;
System.out
.println("
请选择进行的操作:
1.商品入库\t2.商品出库\t3.新增商品\t4.查询所有商品\t5.按编号查询商品\t6.退出"
choose=input.nextInt();
//选择库存操作
switch(choose){
case1:
//入库
in();
case2:
//出库
out();
case3:
//新增
add();
case4:
//打印所有商品
checkall();
case5:
//按编号查询
check();
case6:
//退出
谢谢使用!
default:
对不起,您的输入有误,请重新输入!
@SuppressWarnings("
unchecked"
privatestaticvoidin()throwsException{//入库
System.out.print("
输入商品编号:
Stringnumber=input.next();
Map<
map.put("
编号"
number);
查询编号"
send(map);
if("
有此商品"
System.out.print("
入库数量:
Stringamount=input.next();
if(num(amount)==true){
inta=Integer.parseInt(amount);
if(a>
=0){
入库数量"
amount);
入库"
String,ShangPin>
map1=(Map<
)send(map);
System.out.println("
商品编号\t\t"
+"
商品名称\t\t"
商品单价\t\t"
+"
单位\t\t"
数量"
for(ShangPiniterable_element:
map1.values()){
System.out.println(iterable_element.getNumber()
+"
\t\t"
+iterable_element.getSpname()
+iterable_element.getPrice()+"
+iterable_element.getUnit()+"
+iterable_element.getAmount());
}else{
出库数量有误!
}
}else{
System.out.println("
没有此商品,请选择编号3:
新增商品!
privatestaticvoidout()throwsException{//出库
出库数量:
出库数量"
出库"
)receive;
if(a<
=map1.get(number).getAmount()){
商品单价\t\t\t"
单位\t\t\t"
for(ShangPinsp:
System.out.println(sp.getNumber()+"
+sp.getSpname()+"
+sp.getPrice()
+"
+sp.getUnit()+"
+sp.getAmount());
}
库存不足,请核实,出库失败!
System.out.println(map1.get(number).getNumber()
+map1.get(number).getSpname()
+map1.get(number).getPrice()+"
+map1.get(number).getUnit()+"
+map1.get(number).getAmount());
没有此商品!
privatestaticvoidadd()throwsException{//新增
Stringnumber=input.next();
Map<
map.put("
send(map);
if("
无此商品"
System.out.print("
输入商品名称:
Stringspname=input.next();
输入商品价格:
Stringprice=input.next();
if(price(price)==true){
输入商品单位:
Stringunit=input.next();
输入商品数量:
Stringamount=input.next();
if(num(amount)==true){
map.put("
新增"
名称"
spname);
价格"
price);
单位"
unit);
send(map);
新增商品成功!
Map<
map2=(Map<
map2.values()){
\t\
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 基于 socket 网络 编程 超市 收银 管理 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)