超市管理
Posted bichen-01
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了超市管理相关的知识,希望对你有一定的参考价值。
package com.myshoop; //会员类 public class Member private String name; //姓名 private int num; //会员卡号 private String password; //密码 private int score; //积分 private String carDate; //开卡日期 public Member() super(); public Member(String name, int num, String password, int score, String carDate) super(); this.name = name; this.num = num; this.password = password; this.score = score; this.carDate = carDate; public String getName() return name; public void setName(String name) this.name = name; public int getNum() return num; public void setNum(int num) this.num = num; 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 getCarDate() return carDate; public void setCarDate(String carDate) this.carDate = carDate;
package com.myshoop; 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 Member m = null; static Scanner sc = new Scanner(System.in); // 写一个集合用来存储会员用户的 List<Member> memberList = new ArrayList<Member>(); // 写方法 // 开始菜单 // 菜单 public void menu() System.out.println("***欢迎来到新嘉隆线上超市******"); System.out.println("**********************"); System.out.println("1、积分累计 2、积分兑换 3、查询剩余积分 4、修改密码 5、开卡 6、退出"); System.out.println("请选择:"); // 开始 public void start() do menu(); String choose = sc.next(); switch (choose) case "1": // 积分累计 scoreAdd(); if (scoreAdd() == true) System.out.println("积分累计成功!Q"); else if (scoreAdd() == false) System.out.println("积分累计失败!N"); continue; case "2": // 积分兑换 scoreChange(); if (scoreChange() == true) System.out.println("积分兑换成功!"); else if (scoreChange() == false) System.out.println("积分兑换失败!"); continue; case "3": // 查询剩余积分 finaScore(); continue; case "4": // 修改密码 changePassword(); continue; case "5": // 开卡 openCar(); continue; case "6": // 退出 System.out.println("亲! 谢谢您的使用,欢迎下次再次使用!"); break; default: System.out.println("亲! 找不到您要的选线 ,请重新输入?(^_-)"); continue; break; while (true); // * 查询用户是否存在 如果存在返回用户 根据会员卡号和密码查找用户是否存在 不存在则为null public Member hasMember(int num, String password) for (Member member : memberList) if (member.getNum() == num && member.getPassword().equalsIgnoreCase(password)) return member; return null; // 1、积分累计 public boolean scoreAdd() System.out.println("请输入卡号:"); int num = sc.nextInt(); System.out.println("请输入密码:"); String password = sc.next(); if (hasMember(num, password) != null) System.out.println("请输入您的消费金额(0.1元相当于100积分)"); int score = sc.nextInt(); m.setScore(m.getScore() + score * 1000); System.out.println("恭喜用户获得积分:" + m.getScore()); else System.out.println("该用户不存在,请重新输入:"); return true; // 2、积分兑换 public boolean scoreChange() System.out.println("请输入卡号:"); int num = sc.nextInt(); System.out.println("请输入密码:"); String password = sc.next(); if(hasMember(num,password)!=null) System.out.println("请输入您要兑换的积分数(1积分相当于0.001元)"); int score = sc.nextInt(); if(score<=m.getScore()) m.setScore(m.getScore()-score); System.out.println("恭喜用户兑换积分成功! 兑换的金额是::"+"\n"+score*0.001+"元"); else System.out.println("用户的积分不够!"); else System.out.println("该用户不存在(或用户名和密码错误),请重新输入:"); return true; // 3、查询剩余积分 public void finaScore() System.out.println("请输入卡号:"); int num = sc.nextInt(); System.out.println("请输入密码:"); String password = sc.next(); if(hasMember(num,password)!=null) System.out.println(m.getScore()); else System.out.println("该用户不存在,请重新输入:"); // 4、修改密码 public void changePassword() System.out.println("请输入卡号:"); int num = sc.nextInt(); System.out.println("请输入密码:"); String password = sc.next(); if(hasMember(num,password)!=null) System.out.println("请输入你要修改的密码:"); String newPassword = sc.next(); m.setPassword(newPassword); System.out.println("修改密码成功!"); else System.out.println("该用户不存在,请重新输入:"); // 5、开卡 用户要先开卡才能使用 // 随机生成卡号 public int creatNum() Random random = new Random(); int num = random.nextInt(100000000); // 确保卡号的唯一性 如果集合中存在 那么就再随机生成一个 if (m.getNum() == num) num = random.nextInt(100000000); return num; public void openCar() m = new Member(); System.out.println("请输入用户名:"); m.setName(sc.next()); // 随机生成卡号 写一个方法 int carNum = creatNum(); m.setNum(carNum); // 确保用户名和密码正确 // 输入密码 密码的长度不能小于6 System.out.print("请输入注册密码: "); String password; boolean boo = true; do password = sc.next(); if (password.length() < 6) System.out.print("输入的密码长度小于6,亲! 请重新输入: "); boo = false; else boo = true; m.setPassword(password); while (!boo); // 注册成功! 赠送100积分 m.setScore(100); // 开卡日期: Date date = new Date(); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); String carDate = simpleDateFormat.format(date); m.setCarDate(carDate); // 提醒用户操作成功! 卡号是多少 System.out.println("亲! 您的会员开通成功! 您的卡号是:" + carNum); memberList.add(m);
package com.myshoop; public class Test //测试类 public static void main(String[] args) MemberDao dao = new MemberDao(); dao.start();
以上是关于超市管理的主要内容,如果未能解决你的问题,请参考以下文章