public int getScore() {
return this.score;
}
public void setScore(int score) {
this.score = score;
}
}
MemberManager类:
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 MemberManage
{
//键盘监听器
Scanner input = new Scanner(System.in);
//集合
List memberList = new ArrayList();
//菜单
public void menu() {
System.out.println(“欢迎进入超市会员管理系统”);
System.out.println(“1.积分累计 2.积分兑换 3.查询剩余积分 4.修改密码 5.开卡 6.退出”);
System.out.println(“*******************************************************************”);
System.out.print(“请选择:”);
}
//启动
public void start() {
while (true) {
menu();//调用菜单
int choose = this.input.nextInt();//接收参数
switch (choose) {
case 1:
if (saveScore()) {
System.out.println(“积分累计成功!”);
continue;
}System.out.println(“积分累计失败!”);
break;
case 2:
if (minusScore()) {
System.out.println(“积分兑换成功!”);
continue;
}System.out.println(“积分兑换失败!”);
break;
case 3:
showScore();
break;
case 4:
if (changePwd()) {
System.out.println(“密码修改成功!”);
continue;
}System.out.println(“密码修改失败!”);
break;
case 5:
register();
break;
case 6:
System.out.println(“感谢您的使用,欢迎下次使用!”);
break;
}
System.out.println(“您的操作有误,请重新选择:”);
}
}
//遍历账号&密码进行验证
public Member hasMember(Member member)
{
//如果member的密码非空
if (member.getPassword() != null) {
//遍历集合
for (int i = 0; i < this.memberList.size(); i++) {
//如果账号&密码都正确,返回当前集合索引对应的对象地址值
if ((((Member)this.memberList.get(i)).getCardId() == member.getCardId()) && (((Member)this.memberList.get(i)).getPassword().equalsIgnoreCase(member.getPassword())))
return (Member)this.memberList.get(i);
}
}
else {
//遍历集合
for (int i = 0; i < this.memberList.size(); i++) {
//如果账号正确,返回当前集合索引对应的对象地址值
if (((Member)this.memberList.get(i)).getCardId() == member.getCardId()) {
return (Member)this.memberList.get(i);
}
}
}
return null;
}
//更改密码
public boolean changePwd()
{
//创建Member对象
Member member = new Member();
System.out.print(“请输入您的会员卡号:”);
member.setCardId(this.input.nextInt());
System.out.print(“请输入您的会员卡密码:”);
member.setPassword(this.input.next());
//如果member对象非空
if ((member = hasMember(member)) != null) {
System.out.print(“请输入新的会员密码:”);
//标志(默认true)
boolean flag = true;
do {
//接收密码
String pwd = this.input.next();
//如果字符小于6位
if (pwd.length() < 6) {
System.out.print(“会员密码不能小于6位,请重新输入会员密码:”);
flag = false;
} else {
flag = true;
member.setPassword(pwd);
}
}
while (!flag);//!flag取反标志
return true;
}
System.out.println(“您输入的会员卡号或密码错误,无法修改密码!”);
return false;
}
//积分累计
public boolean saveScore()
{
//创建member对象
Member member = new Member();
System.out.print(“请输入您的会员卡号:”);
member.setCardId(this.input.nextInt());
System.out.print(“请输入您的会员卡密码:”);
member.setPassword(this.input.next());
if ((member = hasMember(member)) != null) {
System.out.print(“请输入您此次消费金额(消费1元累计1积分):”);
int score = this.input.nextInt();
member.setScore(member.getScore() + score);
return true;
}
System.out.println(“您输入的会员卡号或密码错误,无法积累积分!”);
return false;
}
//积分兑换
public boolean minusScore()
{
Member member = new Member();
System.out.print(“请输入您的会员卡号:”);
member.setCardId(this.input.nextInt());
System.out.print(“请输入您的会员卡密码:”);
member.setPassword(this.input.next());
if ((member = hasMember(member)) != null) {
System.out.print(“请输入您需要兑换使用的积分(100积分抵用0.1元,不足100的积分不做抵用):”);
int score = this.input.nextInt();
if (score <= member.getScore()) {
member.setScore(member.getScore() - score);
System.out.println(“您的消费金额中使用会员积分抵消” + score / 100 * 0.1D + “元”);
return true;
}
System.out.println(“抱歉,您的积分不够,无法抵用消费金额.”);
}
else {
System.out.println(“您输入的会员卡号或密码错误,无法完成积分兑换!”);
}
return false;
}
//生成随机卡号
public int createId()
{
//创建标志
boolean flag = true;
//生成随机数
Random random = new Random();
int id = random.nextInt(99999999);
//遍历卡号
for (Member member : this.memberList) {
//如果生成的卡号存在重复就重新生成随机卡号
if (member.getCardId() == id) {
id = random.nextInt(99999999);
}
}
return id;
}
//开卡
public void register()
{
Member member = new Member();
System.out.print(“请输入注册姓名:”);
member.setName(this.input.next());
member.setCardId(createId());
System.out.print(“请输入注册密码:”);
//标志
boolean flag = true;
do {
String pwd = this.input.next();
if (pwd.length() < 6) {
System.out.print(“会员密码不能小于6位,请重新输入注册密码:”);
flag = false;
} else {
flag = true;
member.setPassword(pwd);
}
}
while (!flag);
member.setScore(100);
//获取当前日期
Date date = new Date();
String registDate = new SimpleDateFormat(“yyyy-MM-dd”).format(date);
member.setRegistDate(registDate);
this.memberList.add(member);
System.out.println(“恭喜,开通会员卡成功,系统赠送您100积分!您的会员卡号为:” + member.getCardId());
}
//查询积分
public void showScore()
{
//创建member类
Member member = new Member();
System.out.print(“请输入您的会员卡号:”);
member.setCardId(this.input.nextInt());
System.out.print(“请输入您的会员卡密码:”);
member.setPassword(this.input.next());
//如果member类非空
if ((member = hasMember(member)) != null) {
System.out.println(“姓名\t会员卡号\t剩余积分\t开卡日期”);
System.out.println(member.getName() + “\t\t” + member.getCardId() + “\t\t” + member.getScore() + “\t\t” + member.getRegistDate());
} else {
System.out.println(“您输入的会员卡号或密码错误,无法查询积分!”);
}
}
}
MemberUtil类:
public class MemberUtil
{
public static void main(String[] args) {
//实例化MemberManage
MemberManage memberManage=new MemberManage();
//调用start方法启动
memberManage.start();
}
}
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
是自己摸索成长,自己不成体系的自学效果低效漫长且无助。**
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
[外链图片转存中…(img-EmC2y9gi-1715776978519)]
[外链图片转存中…(img-Kfv6qYpW-1715776978519)]
[外链图片转存中…(img-kR38zofh-1715776978519)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!