我行我素购物管理系统
项目结构
Customer类
1 package com.wxws.sms.data; 2 /** 3 * 会员类 4 * 5 */ 6 public class Customer { 7 public int custNo; //会员编号 8 public String custBirth; //会员生日 9 public int custScore ; //会员积分 10 11 }
Data类
1 package com.wxws.sms.data; 2 3 /** 4 * 初始化数据 5 */ 6 public class Data { 7 /* 商品信息 */ 8 public Goods goods[] = new Goods[50]; 9 /* 会员信息 */ 10 public Customer customers[] = new Customer[100]; 11 /* 管理员 */ 12 public Manager manager = new Manager(); 13 14 public void ini() { 15 for (int i = 0; i < goods.length; i++) { 16 goods[i] = new Goods(); 17 } 18 19 // 商品0 20 goods[0].goodsName = "addidas运动鞋"; 21 goods[0].goodsPrice = 880; 22 23 // 商品1 24 goods[1].goodsName = "Kappa网球裙"; 25 goods[1].goodsPrice = 200; 26 27 // 商品2 28 goods[2].goodsName = "网球拍"; 29 goods[2].goodsPrice = 780; 30 31 32 // 商品3 33 goods[3].goodsName = "addidasT恤"; 34 goods[3].goodsPrice = 420.78; 35 36 37 // 商品4 38 goods[4].goodsName = "Nike运动鞋"; 39 goods[4].goodsPrice = 900; 40 41 42 // 商品5 43 goods[5].goodsName = "Kappa网球"; 44 goods[5].goodsPrice = 45; 45 46 47 // 商品6 48 goods[6].goodsName = "KappaT恤"; 49 goods[6].goodsPrice = 245; 50 51 52 for (int i = 0; i < customers.length; i++) { 53 customers[i] = new Customer(); 54 } 55 customers[0].custNo = 1900; // 客户1 56 customers[0].custBirth = "08/05"; 57 customers[0].custScore = 2000; 58 59 customers[1].custNo = 1711; // 客户2 60 customers[1].custBirth = "07/13"; 61 customers[1].custScore = 4000; 62 63 customers[2].custNo = 1623; // 客户3 64 customers[2].custBirth = "06/26"; 65 customers[2].custScore = 5000; 66 67 customers[3].custNo = 1545; // 客户4 68 customers[3].custBirth = "04/08"; 69 customers[3].custScore = 2200; 70 71 customers[4].custNo = 1464; // 客户5 72 customers[4].custBirth = "08/16"; 73 customers[4].custScore = 1000; 74 75 customers[5].custNo = 1372; // 客户6 76 customers[5].custBirth = "12/23"; 77 customers[5].custScore = 3000; 78 79 customers[6].custNo = 1286; // 客户7 80 customers[6].custBirth = "12/21"; 81 customers[6].custScore = 10080; 82 83 } 84 85 }
Gift类
1 package com.wxws.sms.data; 2 /** 3 * Gift.java 4 * 礼品类 5 */ 6 public class Gift { 7 public String name; 8 public double price; 9 10 public String toString(){ 11 return "一个价值¥" + price + "的" + name; 12 } 13 }
Goods类
1 package com.wxws.sms.data; 2 /** 3 * 商品类 4 * 5 */ 6 public class Goods { 7 public String goodsName; 8 public double goodsPrice; 9 10 }
Manager类
1 package com.wxws.sms.data; 2 3 public class Manager { 4 /** 5 * 管理员信息 6 */ 7 public String username = "manager"; //管理员名字 8 public String password = "0000"; //管理员密码 9 10 }
CustManagement类
1 package com.wxws.sms.management; 2 3 import java.util.Scanner; 4 5 import com.wxws.sms.data.Customer; 6 import com.wxws.sms.data.Goods; 7 8 public class CustManagement { 9 /* 商品信息 */ 10 public Goods goods[] = new Goods[50]; 11 /* 会员信息 */ 12 public Customer customers[] = new Customer[100]; 13 14 /** 15 * 传递数据库 16 */ 17 public void setData(Goods[] goods, Customer[] customers) { // 如果不使用this,请把形参名改变即可 18 this.goods = goods; 19 this.customers = customers; 20 } 21 22 /** 23 * 返回上一级菜单 24 */ 25 public void returnLastMenu() { 26 System.out.print("\n\n请按'n'返回上一级菜单:"); 27 Scanner input = new Scanner(System.in); 28 boolean con = true; 29 do { 30 if (input.next().equals("n")) { 31 Menu menu = new Menu(); 32 menu.setData(goods, customers); 33 menu.showCustMMenu(); 34 } else { 35 System.out.print("输入错误, 请重新'n'返回上一级菜单:"); 36 con = false; 37 } 38 } while (!con); 39 } 40 41 /** 42 * 循环增加会员:MY 43 */ 44 public void add() { 45 System.out.println("我行我素购物管理系统 > 客户信息管理 > 添加客户信息\n\n"); 46 String con = "n"; 47 // 确定插入会员位置 48 int index = -1; 49 for (int i = 0; i < customers.length; i++) { 50 if (customers[i].custNo == 0) { 51 index = i; 52 break; 53 } 54 } 55 56 do { // 循环录入会员信息 57 Scanner input = new Scanner(System.in); 58 System.out.print("请输入会员号(<4位整数>):"); 59 int no = input.nextInt(); 60 System.out.print("请输入会员生日(月/日<用两位数表示>):"); 61 String birth = input.next(); 62 System.out.print("请输入积分:"); 63 int score = input.nextInt(); 64 65 // 会员号无效则跳出 66 if (no < 1000 || no > 9999) { 67 System.out.println("客户号" + no + "是无效会员号!"); 68 System.out.println("录入信息失败\n"); 69 System.out.println("继续添加会员吗?(y/n)"); 70 con = input.next(); 71 continue; 72 } 73 // 添加会员 74 75 customers[index].custNo = no; 76 customers[index].custBirth = birth; 77 customers[index++].custScore = score; 78 System.out.println("新会员添加成功!"); 79 System.out.println("继续添加会员吗?(y/n)"); 80 con = input.next(); 81 } while ("y".equals(con) || "Y".equals(con)); 82 returnLastMenu(); 83 } 84 85 /** 86 * 更改客户信息 87 */ 88 public void modify() { 89 System.out.println("我行我素购物管理系统 > 客户信息管理 > 修改客户信息\n\n"); 90 System.out.print("请输入会员号:"); 91 Scanner input = new Scanner(System.in); 92 int no = input.nextInt(); 93 System.out.println(" 会员号 生日 积分 "); 94 System.out.println("------------|------------|---------------"); 95 int index = -1; 96 for (int i = 0; i < customers.length; i++) { 97 if (customers[i].custNo == no) { 98 System.out.println(customers[i].custNo + "\t\t" 99 + customers[i].custBirth + "\t\t" 100 + customers[i].custScore); 101 index = i; 102 break; 103 } 104 } 105 106 if (index != -1) { 107 while (true) { 108 System.out 109 .println("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n"); 110 System.out.println("\t\t\t\t1.修 改 会 员 生 日.\n"); 111 System.out.println("\t\t\t\t2.修 改 会 员 积 分.\n"); 112 System.out 113 .println("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n"); 114 System.out.print("请选择,输入数字:"); 115 switch (input.nextInt()) { 116 case 1: 117 System.out.print("请输入修改后的生日:"); 118 customers[index].custBirth = input.next(); 119 System.out.println("生日信息已更改!"); 120 break; 121 case 2: 122 System.out.print("请输入修改后的会员积分:"); 123 customers[index].custScore = input.nextInt(); 124 System.out.println("会员积分已更改!"); 125 break; 126 } 127 128 System.out.println("是否修改其他属性(y/n):"); 129 String flag = input.next(); 130 ; 131 if ("n".equalsIgnoreCase(flag)) 132 break; 133 } 134 } else { 135 System.out.println("抱歉,没有你查询的会员。"); 136 } 137 138 // 返回上一级菜单 139 returnLastMenu(); 140 141 } 142 143 /** 144 * 查询客户的信息 145 */ 146 public void search() { 147 System.out.println("我行我素购物管理系统 > 客户信息管理 > 查询客户信息\n"); 148 String con = "y"; 149 Scanner input = new Scanner(System.in); 150 while (con.equals("y")) { 151 System.out.print("请输入会员号:"); 152 int no = input.nextInt(); 153 System.out.println(" 会员号 生日 积分 "); 154 System.out.println("------------|------------|---------------"); 155 boolean isAvailable = false; 156 for (int i = 0; i < customers.length; i++) { 157 if (customers[i].custNo == no) { 158 System.out.println(customers[i].custNo + "\t\t" 159 + customers[i].custBirth + "\t\t" 160 + customers[i].custScore); 161 isAvailable = true; 162 break; 163 } 164 } 165 if (!isAvailable) { 166 System.out.println("抱歉,没有你查询的会员信息。"); 167 } 168 System.out.print("\n要继续查询吗(y/n):"); 169 con = input.next(); 170 } 171 172 // 返回上一级菜单 173 returnLastMenu(); 174 } 175 176 /** 177 * 显示所有的会员信息 178 */ 179 public void show() { 180 System.out.println("我行我素购物管理系统 > 客户信息管理 > 显示客户信息\n\n"); 181 System.out.println(" 会员号 生日 积分 "); 182 System.out.println("------------|------------|---------------"); 183 int length = customers.length; 184 for (int i = 0; i < length; i++) { 185 if (customers[i].custNo == 0) { 186 break; // 客户信息已经显示完毕 187 } 188 System.out.println(customers[i].custNo + "\t\t" 189 + customers[i].custBirth + "\t\t" + customers[i].custScore); 190 } 191 192 // 返回上一级菜单 193 returnLastMenu(); 194 } 195 /** 196 * 197 * @param ageline 198 */ 199 public void AgeRate(int ageline){ 200 int young = 0; //记录年龄分界线以下顾客的人数 201 int old = 0; //记录年龄分界线以上顾客的人数 202 int age = 0; //保存顾客的年龄 203 Scanner input = new Scanner(System.in); 204 for(int i = 0; i < 10; i++){ 205 System.out.print("请输入第" +(i+1)+ "位顾客的年龄:"); 206 age = input.nextInt(); 207 if(age > 0 && age <= 30){ 208 young++; 209 } 210 } 211 System.out.println("30岁以下的比例是:" + young/10.0*100 +"%"); 212 System.out.println("30岁以上的比例是:" + (1-young/10.0)*100 +"%"); 213 } 214 }
GiftManagement类
1 package com.wxws.sms.management; 2 3 import java.util.Scanner; 4 import com.wxws.sms.data.*; 5 6 /** 7 *真情回馈 8 */ 9 public class GiftManagement { 10 /* 商品信息 */ 11 public Goods goods[] = new Goods[50]; 12 /* 会员信息 */ 13 public Customer customers[] = new Customer[100]; 14 15 /** 16 * 传递数据库 17 */ 18 public void setData(Goods[] goods, Customer[] customers){ //如果不使用this,请把形参名改变即可 19 this.goods = goods; 20 this.customers = customers; 21 } 22 23 24 /** 25 * 返回上一级菜单 26 */ 27 public void returnLastMenu(){ 28 System.out.print("\n\n请按'n'返回上一级菜单:"); 29 Scanner input = new Scanner(System.in); 30 boolean con = true; 31 do{ 32 if(input.next().equals("n")){ 33 Menu menu = new Menu(); 34 menu.setData(goods,customers); 35 menu.showSendGMenu(); 36 }else{ 37 System.out.print("输入错误, 请重新'n'返回上一级菜单:"); 38 con = false; 39 } 40 }while(!con); 41 } 42 43 /** 44 * 实现生日问候功能 45 */ 46 public void sendBirthCust(){ 47 System.out.println("我行我素购物管理系统 > 生日问候\n\n"); 48 System.out.print("请输入今天的日期(月/日<用两位表示>):"); 49 Scanner input = new Scanner(System.in); 50 String date = input.next(); 51 System.out.println(date); 52 String no = ""; 53 boolean isAvailable = false; 54 for(int i = 0; i < customers.length; i++){ 55 if(customers[i].custBirth!=null && customers[i].custBirth.equals(date)){ 56 no = no + customers[i].custNo + "\n"; 57 isAvailable = true; 58 } 59 } 60 if(isAvailable){ 61 System.out.println("过生日的会员是:"); 62 System.out.println(no); 63 System.out.println("恭喜!获赠MP3一个!"); 64 }else{ 65 System.out.println("今天没有过生日的会员!"); 66 } 67 68 //返回上一级菜单 69 returnLastMenu(); 70 } 71 72 /** 73 * 产生幸运会员 74 */ 75 public void sendLuckyCust(){ 76 System.out.println("我行我素购物管理系统 > 幸运抽奖\n\n"); 77 System.out.print("是否开始(y/n):"); 78 Scanner input = new Scanner(System.in); 79 if(input.next().equals("y")){ 80 int random = (int)(Math.random()* 10); 81 //System.out.println(random); 82 int baiwei; //百位 83 boolean isAvailable = false; 84 String list = ""; 85 for(int i = 0; i< customers.length; i++){ 86 if(customers[i].custNo==0){ 87 break; 88 } 89 baiwei = customers[i].custNo / 100 % 10; 90 if(baiwei == random){ 91 list = list + customers[i].custNo+ "\t"; 92 isAvailable = true; 93 } 94 } 95 if(isAvailable){ 96 System.out.println("幸运客户获赠MP3:" + list); 97 }else{ 98 System.out.println("无幸运客户。"); 99 } 100 } 101 102 //返回上一级菜单 103 returnLastMenu(); 104 } 105 /** 106 * 幸运大放送 107 */ 108 public void sendGoldenCust(){ 109 System.out.println("我行我素购物管理系统 > 幸运大放送\n\n"); 110 int index = 0; 111 int max = customers[0].custScore; 112 //假定积分各不相同 113 for(int i = 0; i < customers.length; i++){ 114 if(customers[i].custScore == 0){ 115 break; //数组后面为空用户 116 } 117 //求最大积分的客户 118 if(customers[i].custScore > max){ 119 max = customers[i].custScore ; 120 index = i; 121 } 122 } 123 System.out.println("具有最高积分的会员是: " + customers[index].custNo + "\t" + customers[index].custBirth + "\t" + customers[index].custScore); 124 //创建笔记本电脑对象 125 Gift laptop = new Gift(); 126 laptop.name = "苹果笔记本电脑"; 127 laptop.price = 12000; 128 System.out.print("恭喜!获赠礼品: "); 129 System.out.println(laptop); 130 131 //返回上一级菜单 132 returnLastMenu(); 133 } 134 }
Menu类
1 package com.wxws.sms.management; 2 3 import java.util.Scanner; 4 import com.wxws.sms.data.*; 5 6 /** 7 *Menu.java 8 *菜单类 9 */ 10 public class Menu { 11 12 /* 商品信息 */ 13 public Goods goods[] = new Goods[50]; 14 /* 会员信息 */ 15 public Customer customers[] = new Customer[100]; 16 17 /** 18 * 传递数据库 19 */ 20 public void setData(Goods[] goods, Customer[] customers){ //如果不使用this,请把形参名改变即可 21 this.goods = goods; 22 this.customers = customers; 23 } 24 25 /** 26 * 显示我行我素购物管理系统的登录菜单 27 */ 28 public void showLoginMenu() { 29 System.out.println("\n\n\t\t\t 欢迎使用我行我素购物管理系统\n\n"); 30 System.out.println ("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n"); 31 System.out.println("\t\t\t\t 1. 登 录 系 统\n\n"); 32 System.out.println("\t\t\t\t 2. 更 改 管 理 员 密 码\n\n"); 33 System.out.println("\t\t\t\t 3. 退 出\n\n"); 34 System.out.println ("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n"); 35 System.out.print("请选择,输入数字:"); 36 } 37 38 /** 39 * 显示我行我素购物管理系统的主菜单 40 */ 41 public void showMainMenu() { 42 System.out.println("\n\n\t\t\t\t欢迎使用我行我素购物管理系统\n"); 43 System.out.println("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n"); 44 System.out.println("\t\t\t\t 1. 客 户 信 息 管 理\n"); 45 System.out.println("\t\t\t\t 2. 购 物 结 算\n"); 46 System.out.println("\t\t\t\t 3. 真 情 回 馈\n"); 47 System.out.println("\t\t\t\t 4. 注 销\n"); 48 System.out.println("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n"); 49 System.out.print("请选择,输入数字:"); 50 51 Scanner input = new Scanner(System.in); 52 boolean con = false; 53 do{ 54 String num = input.next(); 55 if(num.equals("1")){ 56 //显示客户信息管理菜单 57 showCustMMenu(); 58 break; 59 }else if(num.equals("2")){ 60 //显示购物结算菜单 61 Pay pay = new Pay(); 62 pay.setData(goods,customers); 63 pay.calcPrice(); 64 break; 65 }else if(num.equals("3")){ 66 //显示真情回馈菜单 67 showSendGMenu(); 68 break; 69 }else if(num.equals("4")){ 70 showLoginMenu(); 71 break; 72 }else{ 73 System.out.print("输入错误,请重新输入数字:"); 74 con = false; 75 } 76 }while(!con); 77 } 78 79 /** 80 * 客户信息管理菜单 81 */ 82 83 public void showCustMMenu() { 84 System.out.println("我行我素购物管理系统 > 客户信息管理\n"); 85 System.out.println("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n"); 86 System.out.println("\t\t\t\t 1. 显 示 所 有 客 户 信 息\n"); 87 System.out.println("\t\t\t\t 2. 添 加 客 户 信 息\n"); 88 System.out.println("\t\t\t\t 3. 修 改 客 户 信 息\n"); 89 System.out.println("\t\t\t\t 4. 查 询 客 户 信 息\n"); 90 System.out.println("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n"); 91 System.out.print("请选择,输入数字或按'n'返回上一级菜单:"); 92 Scanner input = new Scanner(System.in); 93 94 boolean con = true; //处理如果输入菜单号错误 95 do{ 96 CustManagement cm = new CustManagement(); 97 cm.setData(goods,customers); 98 String num = input.next(); 99 if(num.equals("1")){ 100 cm.show(); 101 break; 102 }else if(num.equals("2")){ 103 cm.add(); 104 break; 105 }else if(num.equals("3")){ 106 cm.modify(); 107 break; 108 }else if(num.equals("4")){ 109 cm.search(); 110 break; 111 112 }else if(num.equals("n")){ 113 showMainMenu(); 114 break; 115 }else{ 116 System.out.println("输入错误, 请重新输入数字:"); 117 con = false; 118 } 119 }while(!con); 120 } 121 122 /** 123 * 显示我行我素购物管理系统的真情回馈菜单 124 */ 125 public void showSendGMenu(){ 126 System.out.println("我行我素购物管理系统 > 真情回馈\n"); 127 System.out.println("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n"); 128 System.out.println("\t\t\t\t 1. 幸 运 大 放 送\n"); 129 System.out.println("\t\t\t\t 2. 幸 运 抽 奖\n"); 130 System.out.println("\t\t\t\t 3. 生 日 问 候\n"); 131 System.out.println("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n"); 132 System.out.print("请选择,输入数字或按'n'返回上一级菜单:"); 133 Scanner input = new Scanner(System.in); 134 135 boolean con = true; //处理如果输入菜单号错误 136 GiftManagement gm = new GiftManagement(); 137 gm.setData(goods,customers); 138 do{ 139 String num = input.next(); 140 if(num.equals("1")){ 141 //幸运大放送 142 gm.sendGoldenCust(); 143 break; 144 }else if(num.equals("2")){ 145 //幸运抽奖 146 gm.sendLuckyCust(); 147 break; 148 }else if(num.equals("3")){ 149 //生日问候 150 gm.sendBirthCust(); 151 break; 152 }else if(num.equals("n")){ 153 showMainMenu(); 154 break; 155 }else{ 156 System.out.println("输入错误, 请重新输入数字:"); 157 con = false; 158 } 159 }while(!con); 160 } 161 }
Pay类
1 package com.wxws.sms.management; 2 3 import java.util.*; 4 5 import com.wxws.sms.data.Customer; 6 import com.wxws.sms.data.Goods; 7 8 public class Pay { 9 /* 商品信息 */ 10 public Goods goods[] = new Goods[50]; 11 /* 会员信息 */ 12 public Customer customers[] = new Customer[100]; 13 14 /** 15 * 传递数据库 16 */ 17 public void setData(Goods[] goods, Customer[] customers) { // 如果不使用this,请把形参名改变即可 18 this.goods = goods; 19 this.customers = customers; 20 } 21 22 /** 23 * 计算客户的折扣数目 24 */ 25 public double getDiscount(int curCustNo, Customer[] customers) { 26 double discount; 27 int index = -1; 28 for (int i = 0; i < customers.length; i++) { 29 if (curCustNo == customers[i].custNo) { 30 index = i; 31 break; 32 } 33 } 34 35 if (index == -1) {// 如果会员号不存在 36 discount = -1; 37 38 } else { 39 40 // 判断折扣 41 int curscore = customers[index].custScore; 42 if (curscore < 1000) { 43 discount = 0.95; 44 } else if (1000 <= curscore && curscore < 2000) { 45 discount = 0.9; 46 } else if (2000 <= curscore && curscore < 3000) { 47 discount = 0.85; 48 } else if (3000 <= curscore && curscore < 4000) { 49 discount = 0.8; 50 } else if (4000 <= curscore && curscore < 6000) { 51 discount = 0.75; 52 } else if (6000 <= curscore && curscore < 8000) { 53 discount = 0.7; 54 } else { 55 discount = 0.6; 56 } 57 } 58 return discount; 59 60 } 61 62 /* 63 * 实现购物结算以及输出购物小票 64 */ 65 public void calcPrice() { 66 int curCustNo; // 客户号 67 int goodsNo = 0; // 商品编号 68 double price; // 商品价格 69 String name; 70 int count; // 购入数量 71 String choice; 72 String goodsList = ""; // 购物清单 73 double total = 0; // 购物总金额 74 double finalPay = 0; // 打折后需付款 75 double payment; // 实际交费金额 76 77 System.out.println("我行我素购物管理系统 > 购物结算\n\n"); 78 79 // 打印产品清单 80 System.out.println("*************************************"); 81 System.out.println("请选择购买的商品编号:"); 82 for (int i = 0, p = 0; i < goods.length && null != goods[i].goodsName; i++) { 83 p++; 84 System.out.println(p + ": " + goods[i].goodsName + "\t"); 85 } 86 System.out.println("*************************************\n"); 87 88 /* 进行购入结算系统 */ 89 Scanner input = new Scanner(System.in); 90 System.out.print("\t请输入会员号:"); 91 curCustNo = input.nextInt(); 92 double discount = getDiscount(curCustNo, customers); 93 if (discount == -1) { 94 System.out.println("会员号输入错误。"); 95 } else { 96 97 do { 98 System.out.print("\t请输入商品编号:"); // 数组下标+1即产品编号 99 goodsNo = input.nextInt(); 100 System.out.print("\t请输入数目:"); 101 count = input.nextInt(); 102 103 // 查询单价 104 price = goods[goodsNo - 1].goodsPrice; 105 name = goods[goodsNo - 1].goodsName; 106 total = total + price * count; 107 108 // 连接购物清单 109 goodsList = goodsList + "\n" + name + "\t" + "¥" + price 110 + "\t\t" + count + "\t\t" + "¥" + (price * count) 111 + "\t"; 112 113 System.out.print("\t是否继续(y/n)"); 114 choice = input.next(); 115 } while (choice.equals("y")); 116 117 // 计算消费总金额 118 finalPay = total * discount; 119 120 // 打印消费清单 121 System.out.println("\n"); 122 System.out.println("*****************消费清单*********************"); 123 System.out.println("物品\t\t" + "单价\t\t" + "个数\t\t" + "金额\t"); 124 System.out.print(goodsList); 125 System.out.println("\n折扣:\t" + discount); 126 System.out.println("金额总计:\t" + "¥" + finalPay); 127 System.out.print("实际交费:\t¥"); 128 payment = input.nextDouble(); 129 System.out.println("找钱:\t" + "¥" + (payment - finalPay)); 130 131 // 计算获得的积分: 132 int score = (int) finalPay / 100 * 3; 133 134 // 更改会员积分 135 for (int i = 0; i < customers.length; i++) { 136 if (customers[i].custNo == curCustNo) { 137 customers[i].custScore = customers[i].custScore + score; 138 System.out.println("本次购物所获的积分是: " + score); 139 break; 140 } 141 } 142 } 143 // 返回上一级菜单 144 System.out.print("\n请'n'返回上一级菜单:"); 145 if (input.next().equals("n")) { 146 Menu menu = new Menu(); 147 menu.setData(goods, customers); 148 menu.showMainMenu(); 149 } 150 151 } 152 153 }
StartSMS类
1 package com.wxws.sms.management; 2 3 import com.wxws.sms.data.*; 4 import java.util.*; 5 6 public class StartSMS { 7 /** 8 * 我行我素购物管理系统的入口 9 * 10 */ 11 public static void main(String[] args){ 12 /*出始化商场的商品和客户信息*/ 13 Data initial = new Data(); 14 initial.ini(); 15 16 17 /*进入系统*/ 18 Menu menu = new Menu(); 19 menu.setData(initial.goods, initial.customers); 20 menu.showLoginMenu(); 21 22 /*菜单选择*/ 23 boolean con = true; 24 while(con){ 25 Scanner input = new Scanner(System.in); 26 int choice = input.nextInt(); 27 VerifyEqual pv = new VerifyEqual(); 28 switch(choice){ 29 case 1: 30 /*密码验证*/ 31 for(int i = 3; i>=1; i--){ 32 if(pv.verify(initial.manager.username, initial.manager.password)){ 33 menu.showMainMenu(); 34 break; 35 }else if(i!=1){ 36 System.out.println("\n用户名和密码不匹配,请重新输入:"); //超过3次输入,退出 37 }else{ 38 System.out.println("\n您没有权限进入系统!谢谢!"); 39 con = false; 40 } 41 } 42 break; 43 case 2: 44 if(pv.verify(initial.manager.username, initial.manager.password)){ 45 System.out.print("请输入新的用户名:"); 46 String name = input.next(); 47 System.out.print("请输入新的密码:"); 48 String pwd = input.next(); 49 50 System.out.print("请再次输入新的密码:"); 51 String repwd = input.next(); 52 if(pwd.equals(repwd)){ 53 initial.manager.username = name; 54 initial.manager.password = pwd; 55 System.out.println("用户名和密码已更改!"); 56 } 57 else{ 58 System.out.println("两次密码不一致。"); 59 } 60 61 System.out.println("\n请选择,输入数字:"); 62 }else{ 63 System.out.println("抱歉,你没有权限修改!"); 64 con = false; 65 } 66 break; 67 case 3: 68 System.out.println("谢谢您的使用!"); 69 con = false; 70 break; 71 default: 72 System.out.print("\n输入有误!请重新选择,输入数字: "); 73 } 74 if(!con){ 75 break; 76 } 77 } 78 79 } 80 }
VerifyEqual类
1 package com.wxws.sms.management; 2 import java.util.*; 3 public class VerifyEqual { 4 /** 5 * 验证管理员的用户名和密码是否相等 6 */ 7 public boolean verify(String username, String password){ 8 System.out.print("请输入用户名:"); 9 Scanner input = new Scanner(System.in); 10 String name = input.next(); 11 System.out.print("请输入密码:"); 12 input = new Scanner(System.in); 13 String psw = input.next(); 14 if(name.equals(username) && password.equals(psw)){ 15 return true; 16 }else{ 17 return false; 18 } 19 } 20 }
以上仅供参考哟~_~
欢迎交流学习