源码获取:博客首页 "资源" 里下载!
功能简介:
客户信息管理、商品信息管理、购物信息管理、退出系统
显示系统主菜单:
public class SystemMenu {
//显示系统主菜单
public void showMainMenu(){
System.out.println("\n* * * * * * * * * * * * * * * * * * * * * * * * * * * * *");
System.out.println("* *");
System.out.println("* 欢迎使用迷你青春购物系统 *");
System.out.println("* *");
System.out.println("* * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n");
System.out.println("1.客户信息管理\n");
System.out.println("2.商品信息管理\n");
System.out.println("3.购物信息管理\n");
System.out.println("4.退出系统\n");
boolean flag;
do{
System.out.println("\n请选择功能(1-4):");
Scanner sc = new Scanner(System.in);
int fun = sc.nextInt();
flag = false;
switch(fun){
case 1:
showCustomerMenu();
break;
case 2:
showProductMenu();
break;
case 3:
buyProductMenu();
break;
case 4:
System.out.println("您已安全退出!欢迎下次使用本系统....");
System.exit(0);
break;
default:
System.out.println("请选择相应的功能,在1-4之间选择。");
flag = true;
}
}while(flag);
}
//显示客户管理菜单
public void showCustomerMenu(){
System.out.println("\n* * * * * * * * * * * * * * * * * * * * * * * * * * * * *");
System.out.println("迷你青春购物系统 >> 客户信息管理");
System.out.println("* * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n");
System.out.println("1.显示所有客户信息\n");
System.out.println("2.添加客户信息\n");
System.out.println("3.修改客户信息\n");
System.out.println("4.删除客户信息\n");
System.out.println("5.返回上一级菜单\n");
System.out.println();
Scanner sc = new Scanner(System.in);
System.out.println("请选择功能(1-5):");
int fun = sc.nextInt();
CustomerManager cm = new CustomerManager();
switch(fun){
case 1:
cm.showAllCustomerInfo();
break;
case 2:
cm.addCustomer();
break;
case 3:
cm.updateCustomer();
break;
case 4:
cm.deleteCustomer();
break;
case 5:
showMainMenu();
break;
default:
System.out.println("请选择相应的功能,在1-5之间选择。");
}
}
/*
* 显示商品管理菜单
*/
public void showProductMenu(){
System.out.println("\n* * * * * * * * * * * * * * * * * * * * * * * * * * * * *");
System.out.println("迷你青春购物系统 >> 商品信息管理");
System.out.println("* * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n");
System.out.println("1.显示所有商品信息\n");
System.out.println("2.添加商品信息\n");
System.out.println("3.修改商品信息\n");
System.out.println("4.删除商品信息\n");
System.out.println("5.返回上一级菜单\n");
System.out.println();
Scanner sc = new Scanner(System.in);
System.out.println("请选择功能(1-5):");
int fun = sc.nextInt();
ProductManager pm = new ProductManager();
switch(fun){
case 1:
pm.showAllProductInfo();
break;
case 2:
pm.addProduct();
break;
case 3:
pm.updateProduct();
break;
case 4:
pm.deleteProduct();
break;
case 5:
showMainMenu();
break;
default:
System.out.println("请选择相应的功能,在1-5之间选择。");
}
}
/*
* 显示购物管理菜单
*/
public void buyProductMenu(){
System.out.println("\n* * * * * * * * * * * * * * * * * * * * * * * * * * * * *");
System.out.println("迷你青春购物系统 >> 购物信息管理");
System.out.println("* * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n");
System.out.println("1.购买商品\n");
System.out.println("2.优惠活动\n");
System.out.println("3.幸运抽奖\n");
System.out.println("4.返回上一级菜单\n");
System.out.println();
Scanner sc = new Scanner(System.in);
System.out.println("请选择功能(1-4):");
int fun = sc.nextInt();
BuyManager bm = new BuyManager();
switch(fun){
case 1:
bm.buyProduct();
break;
case 2:
bm.buyCheapenProduct();
break;
case 3:
bm.luckLottery();
break;
case 4:
showMainMenu();
break;
default:
System.out.println("请选择相应的功能,在1-4之间选择。");
}
}
}
购买商品:
public class BuyManager {
/*
* 购买商品
*/
public void buyProduct(){
System.out.println("\n* * * * * * * * * * * * * * * * * * * * * * * * * * * * *");
System.out.println("迷你青春购物系统 >> 购物信息管理 >> 购买商品");
System.out.println("* * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n");
int [] productId; //用于存储商品的编号
String [] productName;//用于存储商品的名称
float [] price;//用于存储商品的价格
int [] number;//用于存储商品的现有数量
//显示所有商品
ProductDAO productDao = new ProductDAO();
ArrayList<ProductManager> lst = productDao.select();
//判断是否还有商品
if(lst.size() == 0){
System.out.println("商品已全部售完,请下次再来。");
returnBuyProductFirstMenu();//调用返回上一级菜单方法
return;
}
//初始化数组大小,数组的长度与查出的信息记录数相等
productId = new int[lst.size()];
productName = new String[lst.size()];
price = new float[lst.size()];
number = new int[lst.size()];
System.out.println("商品编号\t\t商品名称\t\t价格\t\t数量\t");
System.out.println("----------|--------------|--------------|--------------\n");
for(int i=0;i<lst.size();i++){
ProductManager pm = lst.get(i);
System.out.println(pm.getProductId()+"\t\t"+pm.getProductName()+"\t\t¥"+pm.getPrice()+"\t\t"+pm.getNumber());
productId[i] = pm.getProductId();//将所有商品的编号存入数组中
productName[i] = pm.getProductName();//将所有商品的名称存入数组中
price[i] = pm.getPrice();//将所有商品的价格存入数组中
number[i] = pm.getNumber();//将所有商品的现有数量存入数组中
}
Scanner sc = new Scanner(System.in);
String answer="";
int id = 0;//购买商品的编号
int num = 0;//购买的数量
ArrayList<ProductManager> buyList = new ArrayList<ProductManager>();//购买的商品列表
do{
System.out.println("\n请选择购买的商品编号:");
id = sc.nextInt();
//查找输入的商品编号是否存在
boolean flag = false;
int index = 0;//该商品的下标
for(int j=0;j<productId.length;j++){
//如果商品编号存在,就停止循环
if(productId[j] == id){
flag = true;
index = j;
break;
}
}
//如果商品编号存在,才能添加商品
if(flag){
do{
System.out.println("请输入购买的数量:");
num = sc.nextInt();
//判断输入的数量是否大于商品现存的数量
if(num > number[index]){
System.out.println("\n该商品数量已不足!请重新输入数量!");
}else if(num<=0){
System.out.println("商品数量必须大于0!");
}else{
System.out.println("\n本次消费单信息如下:");
float sum = price[index] * num;//每个商品的总金额=价格*数量
System.out.println(productName[index]+"\t\t¥"+price[index]+"\t\t¥"+sum);
ProductManager pm = new ProductManager();
pm.setProductName(productName[index]);
pm.setPrice(price[index]);
pm.setNumber(num);
buyList.add(pm);
}
System.out.println("\n是否继续输入购买数量(y/n):");
answer =sc.next().trim();
}while(answer.equals("y") || answer.equals("Y"));
}else{
System.out.println("\n您选择的商品不存在!请选择正确的商品编号!");
}
System.out.println("\n是否继续选择购买的商品编号(y/n):");
answer =sc.next().trim();
}while(answer.equals("y") || answer.equals("Y"));
//是否购买了商品
if(buyList.size()>0){
System.out.println("\n* * * * * * * * * * * 购买商品消费单 * * * * * * * * * * *\n");
float allMoney = 0;//所有消费金额
System.out.println("购买商品\t\t单价\t\t数量\t\t金额");
for(int i=0;i<buyList.size();i++){
ProductManager pm = buyList.get(i);
System.out.println(pm.getProductName()+"\t\t¥"+pm.getPrice()+"\t\t"+pm.getNumber()+"\t\t¥"+pm.getPrice()*pm.getNumber());
allMoney += pm.getPrice()*pm.getNumber();//累加
}
System.out.println("\n金额总计:"+allMoney);
System.out.println("\n填写支付信息:");
//将消费信息更新到数据库
System.out.println("请输入会员号:");
String customerNo = sc.next().trim();
System.out.println("请输入密码:");
String customerPwd = sc.next().trim();
int score = calScore(allMoney);//得到本次消费的积分
CustomerDAO customerDao = new CustomerDAO();
//根据会员号和密码查询客户信息,查看余额是否足够
CustomerManager customer = customerDao.selectByCustomerNoPwd(customerNo, customerPwd);
if(customer.getBalance() > allMoney){//如果余额足够,才能进行购物
if(customerDao.calBuyProduct(customerNo, customerPwd, allMoney, score, num, id)){
System.out.println("\n购物成功!本次购物所获得的积分是:"+score);
}else{
System.out.println("\n购买商品失败!");
}
}else{
System.out.println("\n对不起!您的余额不足。");
}
}
returnBuyProductFirstMenu();//调用返回上一级菜单方法
}
/*
* 优惠活动,当购物超过一定的金额时,给予优惠。
*/
public void buyCheapenProduct(){
System.out.println("\n* * * * * * * * * * * * * * * * * * * * * * * * * * * * *");
System.out.println("迷你青春购物系统 >> 购物信息管理 >> 优惠活动");
System.out.println("* * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n");
int [] productId; //用于存储商品的编号
String [] productName;//用于存储商品的名称
float [] price;//用于存储商品的价格
int [] number;//用于存储商品的现有数量
//显示所有商品
ProductDAO productDao = new ProductDAO();
ArrayList<ProductManager> lst = productDao.select();
//判断是否还有商品
if(lst.size() == 0){
System.out.println("商品已全部售完,请下次再来。");
returnBuyProductFirstMenu();//调用返回上一级菜单方法
return;
}
//初始化数组大小,数组的长度与查出的信息记录数相等
productId = new int[lst.size()];
productName = new String[lst.size()];
price = new float[lst.size()];
number = new int[lst.size()];
System.out.println("商品编号\t\t商品名称\t\t价格\t\t数量\t");
System.out.println("----------|--------------|--------------|--------------\n");
for(int i=0;i<lst.size();i++){
ProductManager pm = lst.get(i);
System.out.println(pm.getProductId()+"\t\t"+pm.getProductName()+"\t\t¥"+pm.getPrice()+"\t\t"+pm.getNumber());
productId[i] = pm.getProductId();//将所有商品的编号存入数组中
productName[i] = pm.getProductName();//将所有商品的名称存入数组中
price[i] = pm.getPrice();//将所有商品的价格存入数组中
number[i] = pm.getNumber();//将所有商品的现有数量存入数组中
}
Scanner sc = new Scanner(System.in);
String answer="";
int id = 0;//购买商品的编号
int num = 0;//购买的数量
ArrayList<ProductManager> buyList = new ArrayList<ProductManager>();//购买的商品列表
do{
System.out.println("\n请选择购买的商品编号:");
id = sc.nextInt();
//查找输入的商品编号是否存在
boolean flag = false;
int index = 0;//该商品的下标
for(int j=0;j<productId.length;j++){
//如果商品编号存在,就停止循环
if(productId[j] == id){
flag = true;
index = j;
break;
}
}
//如果商品编号存在,才能添加商品
if(flag){
do{
System.out.println("请输入购买的数量:");
num = sc.nextInt();
//判断输入的数量是否大于商品现存的数量
if(num > number[index]){
System.out.println("\n该商品数量已不足!请重新输入数量!");
}else if(num<=0){
System.out.println("商品数量必须大于0!");
}else{
System.out.println("\n本次消费单信息如下:");
float sum = price[index] * num;//每个商品的总金额=价格*数量
System.out.println(productName[index]+"\t\t¥"+price[index]+"\t\t¥"+sum);
ProductManager pm = new ProductManager();
pm.setProductName(productName[index]);
pm.setPrice(price[index]);
pm.setNumber(number[index]);
buyList.add(pm);
}
System.out.println("\n是否继续输入购买数量(y/n):");
answer =sc.next().trim();
}while(answer.equals("y") || answer.equals("Y"));
}else{
System.out.println("\n您选择的商品不存在!请选择正确的商品编号!");
}
System.out.println("\n是否继续选择购买的商品编号(y/n):");
answer =sc.next().trim();
}while(answer.equals("y") || answer.equals("Y"));
//是否购买了商品
if(buyList.size()>0){
System.out.println("\n* * * * * * * * * * * 购买商品消费单 * * * * * * * * * * *\n");
float allMoney = 0;//所有消费金额
System.out.println("购买商品\t\t单价\t\t数量\t\t金额");
for(int i=0;i<buyList.size();i++){
ProductManager pm = buyList.get(i);
System.out.println(pm.getProductName()+"\t\t¥"+pm.getPrice()+"\t\t"+pm.getNumber()+"\t\t¥"+pm.getPrice()*pm.getNumber());
allMoney += pm.getPrice()*pm.getNumber();//累加
}
int score = calScore(allMoney);//得到本次消费的积分
allMoney = calMoney(allMoney); //进行打折后的总金额
System.out.println("\n金额总计:"+allMoney);
System.out.println("\n填写支付信息:");
//将消费信息更新到数据库
System.out.println("请输入会员号:");
String customerNo = sc.next().trim();
System.out.println("请输入密码:");
String customerPwd = sc.next().trim();
CustomerDAO customerDao = new CustomerDAO();
//根据会员号和密码查询客户信息,查看余额是否足够
CustomerManager customer = customerDao.selectByCustomerNoPwd(customerNo, customerPwd);
if(customer.getBalance() > allMoney){//如果余额足够,才能进行购物
if(customerDao.calBuyProduct(customerNo, customerPwd, allMoney, score, num, id)){
System.out.println("\n购物成功!本次购物所获得的积分是:"+score);
}else{
System.out.println("\n购买商品失败!");
}
}else{
System.out.println("\n对不起!您的余额不足。");
}
}
returnBuyProductFirstMenu();//调用返回上一级菜单方法
}
/*
* 幸运抽奖,只有当积分超过一定的分数时,才能进行抽奖。
*/
public void luckLottery(){
System.out.println("\n* * * * * * * * * * * * * * * * * * * * * * * * * * * * *");
System.out.println("迷你青春购物系统 >> 购物信息管理 >> 幸运抽奖");
System.out.println("* * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n");
Scanner sc = new Scanner(System.in);
System.out.println("请输入积分:");
int score = sc.nextInt();
//当积分大于500时,才能进行抽奖
if(score > 500){
System.out.println("\n请输入抽奖信息:");
System.out.println("\n请输入会员号:");
int customerNo = sc.nextInt();
int qianwei = customerNo / 1000;//分解出千位数字
int baiwei = customerNo % 1000 /100;//分解出百位数字
int shiwei = customerNo % 100 /10;//分解出十位数字
int gewei = customerNo % 10;//分解出个位数字
int sum = qianwei + baiwei + shiwei + gewei;
Random rd = new Random();
int random = rd.nextInt(36)+1;//产生一个1到36之间的数
//当随机产生的数字与会员号分解的各位数字的和相等时,即为中奖客户
if(sum == random){
System.out.println("\n恭喜!会员号为 "+customerNo+" 的幸运客户,获得精美MP4一个!");
}else{
System.out.println("\n会员号为 "+customerNo+" 的客户,感谢您的支持!");
}
}else{
System.out.println("\n您的积分不足,不能进行抽奖!");
}
returnBuyProductFirstMenu();//调用返回上一级菜单方法
}
/*
* 计算会员积分
*/
public int calScore(float sum){
int score = 0;
if(0<sum && sum<=50){
score = 2;
}else if(50<sum && sum<=100){
score = 5;
}else if(100<sum && sum<=500){
score = 7;
}else if(500<sum && sum<=1000){
score = 10;
}else{
score = 12;
}
return score;
}
/*
* 根据购买金额打折
*/
public float calMoney(float allMoney){
float cutMoney = 0;
if(0<allMoney && allMoney<=150){
cutMoney = allMoney * 0.95f;//打0.95折
System.out.println("\n该会员享受的折扣是:0.95折");
}else if(150<allMoney && allMoney<=200){
cutMoney = allMoney * 0.9f;//打0.9折
System.out.println("\n该会员享受的折扣是:0.9折");
}else if(200<allMoney && allMoney<=300){
cutMoney = allMoney * 0.8f;//打0.8折
System.out.println("\n该会员享受的折扣是:0.8折");
}else if(300<allMoney && allMoney<=500){
cutMoney = allMoney * 0.7f;//打0.7折
System.out.println("\n该会员享受的折扣是:0.7折");
}else{
cutMoney = allMoney * 0.65f;//打0.7折
System.out.println("\n该会员享受的折扣是:0.65折");
}
return cutMoney;
}
/*
* 返回上一级菜单
*/
public void returnBuyProductFirstMenu(){
Scanner sc = new Scanner(System.in);
System.out.println("\n按任意键返回上一级菜单:");
sc.next();
SystemMenu sm = new SystemMenu();
sm.buyProductMenu();//返回上一级菜单
}
}
源码获取:博客首页 "资源" 里下载!