超市会员管理系统(面向对象)

package cn.bdqn.project06;

public class Member {
	
	//姓名  会员卡号 密码 积分 开卡日期
		private String name;
		private int cardId;
		private String password;
		private int score;
		private String registDate;
		
		public Member() {
			super();
		}
		
		public Member(String name, int cardId, String password, int score, String registDate) {
			super();
			this.name = name;
			this.cardId = cardId;
			this.password = password;
			this.score = score;
			this.registDate = registDate;
		}

		public String getName() {
			return name;
		}
		public void setName(String name) {
			this.name = name;
		}
		public int getCardId() {
			return cardId;
		}
		public void setCardId(int cardId) {
			this.cardId = cardId;
		}
		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 getRegistDate() {
			return registDate;
		}
		public void setRegistDate(String registDate) {
			this.registDate = registDate;
		}
		

}




package cn.bdqn.project06;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Random;
import java.util.Scanner;

public class MemberDao {

	//业务类

		Scanner input = new Scanner(System.in);
		List<Member> memberList = new ArrayList<Member>();
		
		//开始菜单
		public void menu() {
			System.out.println("------------------欢迎超市会员----------------");
			System.out.println("1.积分累计   2.积分兑换   3.查询剩余积分   4.修改密码   5。开卡   6.退出");
			System.out.println("------------------------------------------");
			System.out.println("请选择:");
		}
		
		public void start() {

			do {
				menu();
				int choose = input.nextInt();
				switch(choose) {
				case 1:
					//积分累计
					if(saveScore()) {
						System.out.println("积分累计成功!");
					}else {
						System.out.println("积分累计失败!");
					}
					continue;
				case 2:
					//积分兑换
					if(minusScore()) {
						System.out.println("积分兑换成功!");
					}else {
						System.out.println("积分兑换失败!");
					}
					continue;
				case 3:
					//积分查询
					showScore();
					continue;
				case 4:
					//修改密码
						System.out.println("..........");
						continue;
				case 5:
					//开卡
					register();
					continue;
				case 6:
					System.out.println("感谢使用!");
					break;
				default:
					System.out.println("操作有误!");
				}
				break;
			}while(true);
		}

		//查询当前会员是否存在,根据会员卡号及密码查找该会员是否存在,存在返回对象,不存在返回null
		public Member hasMember(int id,String pwd) {
			for(Member member:memberList) {
				if(member.getCardId() == id && member.getPassword().equals(pwd)) {
					return member;
				}
			}
			return null;
		}
		
		
		//积分累计
		public boolean saveScore() {
			boolean flag = true;
			System.out.println("请输入会员卡号:");
			int id = input.nextInt();
			System.out.println("请输入会员密码:");
			String pwd = input.next();
			Member member = hasMember(id,pwd);
			if(member !=null) {
				System.out.println("请输入您此次消费金额(1元积1分:)");
				int score = input.nextInt();
				member.setScore(member.getScore()+score);
			}else {
				System.out.println("会员卡号不存在!");
				flag = false;
			}
			return flag;
		}
		
		//积分兑换
		public boolean minusScore() {
			boolean flag = true;
			System.out.println("请输入会员卡号:");
			int id = input.nextInt();
			System.out.println("请输入会员密码:");
			String pwd = input.next();
			Member member = hasMember(id,pwd);
			if(member !=null) {
				System.out.println("请输入您此次消费抵换的积分:");
				int score = input.nextInt();
				if(score<=member.getScore()) {
					member.setScore(member.getScore()-score);
					System.out.println("您此次抵消:"+score/100*0.1+"元");
				}else {
					System.out.println("积分不足无法兑换!");
				}
				flag = true;
			}else {
				System.out.println("会员卡号不存在!");
				flag = false;
			}
			return flag;
		}
		
		//积分查询
		public void showScore() {
			System.out.println("请输入会员卡号:");
			int id = input.nextInt();
			System.out.println("请输入会员密码:");
			String pwd = input.next();
			Member member = hasMember(id,pwd);
			if(member !=null) {
				System.out.println("会员卡号  姓名  剩余积分   开卡日期");
				System.out.println(member.getCardId()+"   "+member.getName()+"  "+member.getScore());
				
			}else {
				System.out.println("会员卡号不存在!无法查询");
			}
		}
		
		//生成随机卡号
		public int createId() {
			Random random = new Random();
			int id = random.nextInt(99999999);	
			for(Member member:memberList){
				if(member.getCardId() == id) {
					id = random.nextInt(99999999);	
				}
			}
			return id;
		}
		
		//开卡
		public void register() {
			Member member = new Member();
			System.out.println("请输入注册姓名:");
			member.setName(input.next());
			//会员卡号随机生成
			int cardId = createId();
			member.setCardId(cardId);
			System.out.println("请输入注册密码:");
			String pwd;
			boolean flag = true;
			do {
				pwd = input.next();
				if(pwd.length()<6) {
					System.out.println("会员密码不能小于6位!请重新输入一个密码:");
					flag = false;
				}else {
					flag = true;
					member.setPassword(pwd);
					
				}
			}while(!flag);
			//每卡默认开卡后赠送100分
			member.setScore(100);
			//开卡日期
			Date date = new Date();
			SimpleDateFormat formater = new SimpleDateFormat("yyyy-MM-dd");
			String sdate = formater.format(date);
			member.setRegistDate(sdate);
			System.out.println("恭喜,会员开通成功!系统赠送您100积分,您的会员卡号是:"+cardId);
			memberList.add(member);
			
		}
			

			
					
			
			
	}

package cn.bdqn.project06;

public class MemberTest {

	public static void main(String[] args) {
		
		MemberDao dao = new MemberDao();
		dao.start();


	}

}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值