資源簡介
使用socket模擬客戶端和服務器實現超市收銀系統,客戶端發送數據到服務器存儲

代碼片段和文件信息
package?cn.java.supermarket;
import?java.text.SimpleDateFormat;
import?java.util.ArrayList;
import?java.util.Date;
import?java.util.Scanner;
/*
?*?客戶端的顯示界面
?*?*/
public?class?Client?{
int?point?=?2000;
//?定義掃描器用于鍵盤輸入
Scanner?input?=?new?Scanner(System.in);
//?創建客戶端業務類對象調用方法
public?static?ClientAsk?ca?=?new?ClientAsk();
//?輸出端
public?static?void?main(String[]?args)?{
Scanner?input?=?new?Scanner(System.in);
while?(true)?{
System.out.println(“***********歡迎使用青鳥超市系統*************“);
System.out.println(“1.登錄“?+?“\n2.退出“);
System.out.println(“***********請選擇1/2*************“);
String?num?=?input.next();
if?(num.equals(“1“))?{
//?登錄視圖
Client?client?=?new?Client();
client.createLoginView();
}?else?if?(num.equals(“2“))?{
//?退出系統
System.exit(0);
}?else?{
//?輸入有誤報錯
System.out.println(“無此選項!“);
}
}
}
//?登錄視圖?通過輸入的用戶名與密碼驗證用戶身份
public?void?createLoginView()?{
while?(true)?{
//?提示登錄信息
System.out.print(“請輸入用戶名:“);
String?name?=?input.next();
System.out.print(“請輸入密碼:“);
String?password?=?input.next();
//?調用客戶端登錄方法接收返回值判斷登錄者的身份
DataPool?datas?=?ca.login(name?password);
//?判斷是管理員還是收銀員
if?(datas.getFlag().equals(Flag.REPERTORY))?{
RepertoryMgr();
break;
}?else?if?(datas.getFlag().equals(Flag.CASHIER))?{
CashierMgr();
break;
}?else?{
System.out.println(“用戶名或密碼有誤請重新輸入“);
}
}
}
//?管理員界面
public?void?RepertoryMgr()?{
System.out.println(“********************************歡迎登錄青鳥超市庫存管理系統********************************“);
while?(true)?{
System.out.println(“請選擇進行的操作:1.商品入庫??2.商品出庫???3.新增商品??4.查詢全部商品??5.按查詢號查詢商品??6.退出“);
int?num?=?input.nextInt();
switch?(num)?{
//?商品入庫
case?1:
addin();
break;
//?商品出庫
case?2:
out();
break;
case?3:
newAdd();
break;
case?4:
allGoods();
break;
case?5:
oneGoods();
break;
case?6:
return;
}
}
}
//?收銀員界面
public?void?CashierMgr()?{
System.out.println(“***********************歡迎登錄青鳥超市收銀系統**************************“);
while?(true)?{
System.out.println(“請選擇進行的操作:1.掃描商品?2.修改數量?3.結賬?4.退出“);
int?num?=?input.nextInt();
switch?(num)?{
case?1:
scan();
break;
case?2:
modify();
break;
case?3:
accounts();
break;
case?4:
return;
default:
System.out.println(“沒有此選項“);
}
}
}
//?掃描商品編號
public?void?scan()?{
System.out.print(“請輸入要掃描的商品編號:“);
String?number?=?input.next();
//?調用客戶端掃描方法,判斷是否有此商品
DataPool?data?=?ca.scan(number);
if?(data.getFlag().equals(Flag.SCAN))?{
System.out.println(“掃描成功!“);
System.out.println(“商品名稱\t\t“?+?“\t數量“?+?“\t單價“?+?“\t金額“);
System.out.println(“---------------------------------------------------------------------“);
for?(Commodity?com?:?data.getBuyList())?{
System.out.println(“(“?+?com.getGoodNum()?+?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2017-10-25?11:12??超市收銀系統\
?????文件?????????301??2017-10-18?10:10??超市收銀系統\.classpath
?????文件?????????381??2017-10-18?10:10??超市收銀系統\.project
?????目錄???????????0??2017-10-25?11:12??超市收銀系統\.settings\
?????文件?????????598??2017-10-18?10:10??超市收銀系統\.settings\org.eclipse.jdt.core.prefs
?????目錄???????????0??2017-10-25?11:12??超市收銀系統\bin\
?????目錄???????????0??2017-10-25?11:12??超市收銀系統\bin\cn\
?????目錄???????????0??2017-10-25?11:12??超市收銀系統\bin\cn\java\
?????目錄???????????0??2017-10-25?11:12??超市收銀系統\bin\cn\java\supermarket\
?????文件???????12793??2017-10-24?14:23??超市收銀系統\bin\cn\java\supermarket\Client.class
?????文件????????6691??2017-10-24?14:23??超市收銀系統\bin\cn\java\supermarket\ClientAsk.class
?????文件????????2019??2017-10-24?14:23??超市收銀系統\bin\cn\java\supermarket\Commodity.class
?????文件????????3040??2017-10-24?14:23??超市收銀系統\bin\cn\java\supermarket\DataPool.class
?????文件????????1094??2017-10-24?14:23??超市收銀系統\bin\cn\java\supermarket\Flag.class
?????文件????????3117??2017-10-24?14:23??超市收銀系統\bin\cn\java\supermarket\ServerAnswer.class
?????文件????????6060??2017-10-24?14:23??超市收銀系統\bin\cn\java\supermarket\ServerClient.class
?????文件?????????910??2017-10-24?14:23??超市收銀系統\bin\cn\java\supermarket\User.class
?????目錄???????????0??2017-10-25?11:12??超市收銀系統\src\
?????目錄???????????0??2017-10-25?11:12??超市收銀系統\src\cn\
?????目錄???????????0??2017-10-25?11:12??超市收銀系統\src\cn\java\
?????目錄???????????0??2017-10-25?11:12??超市收銀系統\src\cn\java\supermarket\
?????文件???????16564??2017-10-18?10:23??超市收銀系統\src\cn\java\supermarket\Client.java
?????文件????????7377??2017-10-18?10:23??超市收銀系統\src\cn\java\supermarket\ClientAsk.java
?????文件????????1665??2017-10-18?10:58??超市收銀系統\src\cn\java\supermarket\Commodity.java
?????文件????????2262??2017-10-18?10:58??超市收銀系統\src\cn\java\supermarket\DataPool.java
?????文件????????1520??2017-10-18?10:58??超市收銀系統\src\cn\java\supermarket\Flag.java
?????文件????????2832??2017-10-18?10:58??超市收銀系統\src\cn\java\supermarket\ServerAnswer.java
?????文件????????6958??2017-10-18?10:58??超市收銀系統\src\cn\java\supermarket\ServerClient.java
?????文件?????????580??2017-10-18?10:24??超市收銀系統\src\cn\java\supermarket\User.java
- 上一篇:LL(1)語法分析器
- 下一篇:編譯原理預測分析LL(1)文法 JAVA實現
評論
共有 條評論