會員類java
public class Member {
//姓名 會員卡號 密碼 會員積分
private String name;//會員卡名字
private int cardId;//會員卡號
private String password;//會員卡密碼
private int score;//會員卡積分
//開卡日期
private String registDate;
public Member() {
}
public Member(String name, int cardId, String password, int score) {
this.name = name;
this.cardId = cardId;
this.password = password;
this.score = score;
}
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 getRegistDate() {
return registDate;
}
public void setRegistDate(String registDate) {
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;
}
}dom
----------------------------------------------------------------------------------------測試
實現類this
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.print("請選擇:");
}
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:
if (changePwd()) {
System.out.println("密碼修改爲功!");
} else {
System.out.println("密碼修改失敗!");
}
continue;
case 5:
register();
continue;
case 6:
System.out.println("感謝您的使用,歡迎下次使用!");
break;
default:
System.out.println("您的操做有誤,請從新選擇:");
continue;
}
break;
}while(true);
}
//查詢會員是否存在,會員密碼不區分大小寫
public Member hasMember(Member member){
if(member.getPassword()!=null){
for (int i = 0; i < memberList.size(); i++) {
if(memberList.get(i).getCardId()==member.getCardId() && memberList.get(i).getPassword().equalsIgnoreCase(member.getPassword())){
return memberList.get(i);
}
}
}else{
for (int i = 0; i < memberList.size(); i++) {
if(memberList.get(i).getCardId()==member.getCardId()){
return memberList.get(i);
}
}
}
return null;
}
//修改會員密碼
public boolean changePwd(){
Member member=new Member();
System.out.print("請輸入您的會員卡號:");
member.setCardId(input.nextInt());
System.out.print("請輸入您的會員卡密碼:");
member.setPassword(input.next());
if((member=hasMember(member))!=null){
System.out.print("請輸入新的會員密碼:");
//新的會員密碼不能小於6位
String pwd;
boolean flag = true;
do{
pwd = input.next();
if(pwd.length()<6){
System.out.print("會員密碼不能小於6位,請從新輸入會員密碼:");
flag = false;
}else{
flag = true;
member.setPassword(pwd);
}
}while(!flag);
return true;
}else{
System.out.println("您輸入的會員卡號或密碼錯誤,沒法修改密碼!");
}
return false;
}
//積分累計
public boolean saveScore(){
Member member=new Member();
System.out.print("請輸入您的會員卡號:");
member.setCardId(input.nextInt());
System.out.print("請輸入您的會員卡密碼:");
member.setPassword(input.next());
if((member=hasMember(member))!=null){
System.out.print("請輸入您這次消費金額(消費1元累計1積分):");
int score=input.nextInt();
member.setScore(member.getScore()+score);
return true;
}else{
System.out.println("您輸入的會員卡號或密碼錯誤,沒法積累積分!");
}
return false;
}
//積分兌換
public boolean minusScore(){
Member member=new Member();
System.out.print("請輸入您的會員卡號:");
member.setCardId(input.nextInt());
System.out.print("請輸入您的會員卡密碼:");
member.setPassword(input.next());
if((member=hasMember(member))!=null){
System.out.print("請輸入您須要兌換使用的積分(100積分抵用0.1元,不足100的積分不作抵用):");
int score=input.nextInt();
if(score<=member.getScore()){
member.setScore(member.getScore()-score);
System.out.println("您的消費金額中使用會員積分抵消"+score/100*0.1+"元");
return true;
}else{
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:memberList){
if(member.getCardId()==id){
id=random.nextInt(99999999);
}
}
return id;
}
//開卡
public void register(){
Member member=new Member();
System.out.print("請輸入註冊姓名:");
member.setName(input.next());
//會員卡號隨機生成
member.setCardId(this.createId());
System.out.print("請輸入註冊密碼:");
//會員密碼不能小於6位
String pwd;
boolean flag = true;
do{
pwd = 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);
memberList.add(member);
System.out.println("恭喜,開通會員卡成功,系統贈送您100積分!您的會員卡號爲:"+member.getCardId());
}
//查詢積分
public void showScore(){
Member member=new Member();
System.out.print("請輸入您的會員卡號:");
member.setCardId(input.nextInt());
System.out.print("請輸入您的會員卡密碼:");
member.setPassword(input.next());
if((member=hasMember(member))!=null){
System.out.println("姓名\t\t會員卡號\t\t剩餘積分\t\t開卡日期");
System.out.println(member.getName()+"\t\t"+member.getCardId()+"\t"+member.getScore()+"\t\t"+member.getRegistDate());
}else{
System.out.println("您輸入的會員卡號或密碼錯誤,沒法查詢積分!");
}
}
}3d
---------------------------------------------------------------------------------------------------------------orm
測試類blog
public class Test {
public static void main(String[] args) {
MemberDao dao=new MemberDao();
dao.start();
}
}get