博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2019-2-28作业
阅读量:4559 次
发布时间:2019-06-08

本文共 6174 字,大约阅读时间需要 20 分钟。

使用Map集合编写超级会员管理系统:

package com.mapmembers;public class ValueMember {	private String name;//会员性名	private String passWord;//会员卡号密码	private int score;//会员积分	private String cardDate;//开卡日期		public ValueMember() {}		public ValueMember(String name, String passWord, int score, String cardDate) {		super();		this.name = name;		this.passWord = passWord;		this.score = score;		this.cardDate = cardDate;	}	public String getName() {		return name;	}	public void setName(String name) {		this.name = name;	}	public String getPassWord() {		return passWord;	}	public void setPassWord(String passWord) {		this.passWord = passWord;	}	public int getScore() {		return score;	}	public void setScore(int score) {		this.score = score;	}	public String getCardDate() {		return cardDate;	}	public void setCardDate(String cardDate) {		this.cardDate = cardDate;	}}

 

package com.mapmembers;import java.text.SimpleDateFormat;import java.util.Collection;import java.util.Date;import java.util.HashMap;import java.util.Map;import java.util.Random;import java.util.Scanner;import java.util.Set;import com.members.Members;public class Member {	Scanner cxj = new Scanner(System.in);	Map
map = new HashMap
(); int cardId; public String verCode() { Random rand = new Random(); int b = 0;//判断是否有数字出现 int c = 0;//判断是否有大写字母出现 int d = 0;//判断是否有小写字母出现 String k;//记录验证码 char code; do { int a = 0; //初始化验证码字符串 k = ""; do { int num = rand.nextInt(123); if(num>=48&&num<=57) { code = (char)num; k += code; b++; a++; }else if(num>=65&&num<=90) { code = (char)num; k += code; c++; a++; }else if(num>=97&&num<=122) { code = (char)num; k += code; d++; a++; } }while(a<6); //若随机后没有包含大小写与数字,则继续随机 }while(!(b>=1&&c>=1&&d>=1)); return k; } public void loginMember() { Set
setKm = map.keySet(); boolean flag = true; System.out.print("请输入卡号:"); do { int id = cxj.nextInt(); System.out.print("请输入密码:"); String pwd = cxj.next(); String ver = verCode(); System.out.println(ver); System.out.print("请输入验证码:"); String verUser = cxj.next(); for(Integer km : setKm) { if((km==id)&&(map.get(km).getPassWord().equals(pwd))&&(ver.equalsIgnoreCase(verUser))) { System.out.println("登录成功!"); memberUi(); flag = false; break; }else { System.out.print("该用户名不存在,请重新登录,卡号:"); flag = true; } } }while(flag); } public int cardNumber() { Set
setKm = map.keySet(); Random rand = new Random(); int cardId = rand.nextInt(9999999); for(Integer km : setKm) { if(km==cardId) { cardId = rand.nextInt(9999999); } } return cardId; } public void openCard() { ValueMember vm = new ValueMember(); System.out.print("请输入用户名:"); vm.setName(cxj.next()); cardId = cardNumber(); System.out.print("请设置密码:"); String pwd; boolean bl = true; do { pwd = cxj.next(); if(pwd.length()<6) { System.out.println("密码长度小于6,请重新输入:"); bl = false; }else { vm.setPassWord(pwd); bl = true; } }while(!bl); Date d = new Date(); SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); vm.setCardDate(sd.format(d)); vm.setScore(100); System.out.println("恭喜您开卡成功,首次开卡赠送100积分!"); System.out.println("您的用户名是:"+vm.getName()); System.out.println("您的卡号是:"+cardId); System.out.println("您的密码是:"+vm.getPassWord()); System.out.println("您当前积分是:"+vm.getScore()); System.out.println("开卡时间:"+vm.getCardDate()); map.put(cardId, vm); } public void login() { do { System.out.println("*************"); System.out.println("1、开卡"); System.out.println("2、登录"); System.out.println("3、退出系统"); System.out.println("*************"); System.out.print("请选择:"); int choose = cxj.nextInt(); switch(choose) { case 1: openCard(); continue; case 2: loginMember(); break; case 3: System.out.println("感谢您的使用!"); break; } break; }while(true); } public void queryScore(){ System.out.println("您当前积分是:"+map.get(cardId).getScore()+"分!"); } public void addScore() { System.out.println("请输入您要消费的金额(1元人民币1积分):"); int money = cxj.nextInt(); System.out.println("您累积"+money+"积分"); map.get(cardId).setScore(map.get(cardId).getScore()+money); System.out.println("您当前积分有:"+map.get(cardId).getScore()+"分"); } public void changeScore() { System.out.println("请输入您要兑换的积分数(100积分兑换1元人民币):"); int score = cxj.nextInt(); System.out.println("您兑换了"+score/100+"元"); map.get(cardId).setScore(map.get(cardId).getScore()-score); System.out.println("您当前剩余积分:"+map.get(cardId).getScore()); } public void changePwd() { boolean flagone = true; boolean flagtwo = true; System.out.print("请输入旧密码:"); String oldPwd; do { oldPwd = cxj.next(); System.out.print("请输入新密码:"); do { if(map.get(cardId).getPassWord().equals(oldPwd)) { String newPwd = cxj.next(); String newPwd1; if(oldPwd.equals(newPwd)) { System.out.print("旧密码与新密码相同,请重新输入:"); flagone = true; flagtwo = true; }else { System.out.print("请再次输入密码:"); newPwd1 = cxj.next(); if(newPwd1.equals(newPwd)) { map.get(cardId).setPassWord(newPwd1); flagone = false; flagtwo = false; } } }else { System.out.print("旧密码输入有误,请重新输入:"); flagone = false; flagtwo = true; break; } }while(flagone); }while(flagtwo); } public void memberUi() { do { System.out.println("*********************"); System.out.println("1、积分查询"); System.out.println("2、积分累积"); System.out.println("3、积分兑换"); System.out.println("4、修改密码"); System.out.println("5、返回登录界面"); System.out.println("*********************"); System.out.print("请选择您要的功能:"); int choose = cxj.nextInt(); switch(choose) { case 1: queryScore(); continue; case 2: addScore(); continue; case 3: changeScore(); continue; case 4: changePwd(); login(); break; case 5: login(); break; } break; }while(true); }}

  

package com.mapmembers;public class MemTest {	public static void main(String[] args) {		Member mb = new Member();		mb.login();	}}

  结果示例:

  1、开卡:

  2、登录

  3、积分查询:

  4、积分累积:

  5、积分兑换:

  6、修改密码:

 

 

 

转载于:https://www.cnblogs.com/chenxj/p/10456279.html

你可能感兴趣的文章
urllib 学习一
查看>>
bzoj4196 [Noi2015]软件包管理器——树链剖分
查看>>
kafka源码阅读环境搭建
查看>>
UI设计
查看>>
androidtab
查看>>
php 事件驱动 消息机制 共享内存
查看>>
剑指offer 二叉树的bfs
查看>>
LeetCode Maximum Subarray
查看>>
让我们再聊聊浏览器资源加载优化
查看>>
underscore demo
查看>>
CSS hack
查看>>
C# Enum Name String Description之间的相互转换
查看>>
PHP wamp server问题
查看>>
Spring Data Redis学习
查看>>
js闭包理解案例-解决for循环为元素注册事件的问题
查看>>
2015.04.23,外语,读书笔记-《Word Power Made Easy》 12 “如何奉承朋友” SESSION 33
查看>>
Spring+SpringMVC+JDBC实现登录
查看>>
生与死之间
查看>>
NEFU 109
查看>>
HDU 5435
查看>>