2019年2月28日 超市會員管理系統

java源文件分享地址:java

連接:https://pan.baidu.com/s/1Ild11O_Vn8ZoKxfQxxwFRw
提取碼:k2fr
複製這段內容後打開百度網盤手機App,操做更方便哦api

首先建立會員類dom

package com.demo;

public class Member {
    private String name;
    private String password;
    private int integral;
    private String time;

    public Member() {
    }

    public Member(String name, String password, int integral,String time) {
        this.name = name;
        this.password = password;
        this.integral = integral;
        this.time = time;
    }

    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 getIntegral() {
        return integral;
    }

    public void setIntegral(int integral) {
        this.integral = integral;
    }

    public String getTime() {
        return time;
    }

    public void setTime(String time) {
        this.time = time;
    }
}

再次編寫系統類:ide

package com.demo;

import org.junit.Test;

import java.text.SimpleDateFormat;
import java.util.*;

public class SupermarketMemberSystem {
    public static void main(String[] args) {
        Member m1 = new Member("張三","888888",1234,"2019-2-27 19:45:34");
        Member m2 = new Member("李四","L456789",25243,"2019-2-26 10:45:34");
        Map<String,Member> map = new HashMap<String,Member>();
        map.put("88888888",m1);
        map.put("52342542",m2);
        Scanner input = new Scanner(System.in);
        Random random = new Random();
        String name;
        String password;
        int integral;
        String time;
        String key = "";
        System.out.println("**************歡迎進入超市會員管理系統***************");
        do{
            System.out.println("*****************************************************");
            System.out.print("一、會員開卡\t\t");
            System.out.print("二、會員登入\t\t");
            System.out.println("三、結束");
            System.out.println("*****************************************************");
            System.out.print("請選擇:");
            String choice1 = input.next();
            switch (choice1){
                case "1":
                    do{
                        System.out.print("請輸入註冊姓名:");
                        boolean nameFlag = false;
                        do{
                            name = input.next();
                            if(name.length()<2){
                                System.out.println("姓名格式不正確,請從新輸入!");
                                continue;
                            }else {
                                nameFlag = true;
                                break;
                            }

                        }while (true);
                        System.out.println("請輸入註冊密碼:");
                        boolean passwordFlag = false;
                        do{
                            password = input.next();
                            if(password.length()<6){
                                System.out.println("密碼長度過短,請從新輸入!");
                                continue;
                            }else {
                                passwordFlag = true;
                                break;
                            }

                        }while (true);
                        if(nameFlag&&passwordFlag){
                            System.out.print("恭喜!開通會員卡成功,系統贈送您100積分!");
                            Date date = new Date();
                            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                            time = sdf.format(date);
                            integral = 100;
                            int[] nums = new int[8];
                            boolean keyFlag = true;
                            do{
                                for(int i = 0 ;i<8;i++){
                                    if(i==0){
                                        nums[i] = random.nextInt(9)+1;
                                    }else {
                                        nums[i] = random.nextInt(10);
                                    }
                                    String id =Integer.toString(nums[i]);
                                    key +=id;
                                }
                                for(String k:map.keySet()){
                                    if(k.equals(key)){
                                        break;
                                    }else {
                                        keyFlag = false;
                                    }
                                }

                            }while (keyFlag);
                            System.out.println("您的會員卡號爲:"+key);
                            Member m = new Member(name,password,integral,time);
//                            System.out.println(m.getName()+m.getPassword()+m.getIntegral()+m.getTime());
                            map.put(key,m);
                            System.out.println("請用會員卡號從新登入!");
                            key = "";
                            break;
                        }
                    }while (true);
                    break;
                case "2":
                    String kahao = "";
                    String mima = "";
                    boolean dengru = true;
                    boolean back1 = false;
                    System.out.println("請輸入您的會員卡號:");
                    do{
                        kahao = input.next();
                        boolean kahaoFlag = false;
                        System.out.println("請輸入您的會員卡密碼:");
                        mima = input.next();
                        boolean mimaFlag = false;
                        System.out.print("請輸入驗證碼:");
                        int[] nums = new int[6];
                        String yanzhengMa = "";
                        for(int j= 0;j<nums.length;){
                            nums[j] = random.nextInt(122);
                            char num;
                            if(nums[j]>=48&&nums[j]<=57){
                                num =(char) nums[j];
                            }else if(nums[j]>=65&&nums[j]<=90){
                                num =(char) nums[j];
                            }else if(nums[j]>=97&&nums[j]<=122){
                                num =(char) nums[j];
                            }else {
                                continue;
                            }
                            System.out.print(num);
                            String nu = Character.toString(num);
                            yanzhengMa += nu;
                            if(j==nums.length-1){
                                System.out.println();
                            }
                            j++;
                        }
                        do{
                            String yanZheng = input.next();
                            if(yanZheng.equalsIgnoreCase(yanzhengMa)){
                                break;
                            }else {
                                System.out.println("驗證碼不正確,請從新輸入!");
                            }
                        }while (true);

                        for(String k:map.keySet()){
                            if(k.equals(kahao)){
                                kahaoFlag =true;
                                break;
                            }
                        }
                        if(kahaoFlag){

                        }else {
                            System.out.println("會員卡號錯誤!");
                        }
                        for(Member m : map.values()){
                            if(m.getPassword().equals(mima)){
                                mimaFlag = true;
                                break;
                            }
                        }
                        if(mimaFlag){

                        }else {
                            System.out.println("密碼錯誤!");
                        }

                        if(kahaoFlag&&mimaFlag){
                            System.out.println("登入成功!");
                            dengru = false;
                        }else {
                            System.out.print("登入失敗,請從新登入!");
                            System.out.println("輸入「0」返回主頁!");
                            String back = input.next();
                            if(back.equals("0")){
                                back1 =true;
                                break;
                            }else {
                                System.out.println("請輸入您的會員卡號:");
                            }
                        }

                    }while (dengru);
                    if(back1){
                        break;
                    }

                    boolean flag1 = true;
                    do{
                        System.out.print("一、積分累計\t\t");
                        System.out.print("二、積分兌換\t\t");
                        System.out.print("三、會員信息\t\t");
                        System.out.print("四、修改密碼\t\t");
                        System.out.print("五、退出帳號\n");
                        System.out.print("請選擇:");

                        Scanner input1 = new Scanner(System.in);
                        String  choice2 = input1.next();

                        switch (choice2){
                            case "1":
                                System.out.print("請輸入您這次的消費金額(消費1元累計1積分):");
                                int pay;
                                try {
                                    do{
                                        pay = input1.nextInt();
                                        if(pay<=0){
                                            System.out.println("輸入有誤,請從新輸入:");
                                        }else {
                                            break;
                                        }
                                    }while (true);
                                }catch (InputMismatchException e){
                                    System.out.println("輸入有誤,退出功能!");
                                    break;
                                }catch (Exception e){
                                    System.out.println("輸入有誤,退出功能!");
                                    break;
                                }
                                int temp =map.get(kahao).getIntegral()+pay;
                                map.get(kahao).setIntegral(temp);
                                System.out.println("積分累計成功!當前積分爲:"+map.get(kahao).getIntegral());
                                break;
                            case "2":
                                System.out.print("請輸入您須要兌換使用的積分(100積分抵用0.1元,不足100的積分不作抵用):");
                                int duiHuan = 0;
                                do{
                                    try{
                                        do{
                                            duiHuan = input1.nextInt();
                                            if(duiHuan<=0){
                                                System.out.println("輸入有誤,請從新輸入:");
                                            }else {
                                                break;
                                            }
                                        }while (true);
                                    }catch (InputMismatchException e){
                                        System.out.println("輸入有誤,即將退出請從新選擇!");
                                        break;
                                    }catch (Exception e) {
                                        System.out.println("輸入有誤,即將退出請從新選擇!");
                                        break;
                                    }
                                    if(map.get(kahao).getIntegral()>=100){
                                        if(map.get(kahao).getIntegral()>=duiHuan){
                                            int temp1 =map.get(kahao).getIntegral()-duiHuan;
                                            map.get(kahao).setIntegral(temp1);
                                            double diYong = duiHuan*1.0/1000;
                                            System.out.println("您的消費金額中使用會員積分抵消"+diYong+"元,剩餘積分:"+map.get(kahao).getIntegral());
                                            break;
                                        }else {
                                            System.out.println("您的積分不足,請從新輸入!");
                                            continue;
                                        }
                                    }else {
                                        System.out.println("您的積分不足100,不能抵用!");
                                        break;
                                    }

                                }while (true);

                                break;
                            case "3":
                                System.out.println("姓名\t\t"+"會員卡號\t\t"+"剩餘積分\t\t"+"開卡日期");
                                System.out.println(map.get(kahao).getName()+"\t\t"+kahao+"\t\t"+map.get(kahao).getIntegral()+"\t\t"+map.get(kahao).getTime());
                                break;
                            case "4":
                                String mimaNew1;
                                String mimaNew2;
                                System.out.println("請輸入新密碼:");
                                do{
                                    mimaNew1 = input.next();
                                    if(mimaNew1.length()<6){
                                        System.out.println("密碼位數不能小於6,請從新輸入:");
                                        continue;
                                    }else if(mimaNew1.equals(map.get(kahao).getPassword())){
                                        System.out.println("新密碼與原密碼不能相同!請從新輸入:");
                                        continue;
                                    }else {
                                        break;
                                    }

                                }while (true);
                                System.out.println("請再次輸入新密碼:");
                                do{
                                    mimaNew2 = input.next();
                                    if(mimaNew1.equals(mimaNew2)){
                                        System.out.println("修改密碼成功!");
                                        map.get(kahao).setPassword(mimaNew2);
                                        break;
                                    }else {
                                        System.out.println("兩次輸的新密碼要相同!請從新輸入:");
                                    }
                                }while (true);

                                break;
                            case "5":
                                flag1 = false;
                                break;
                            default:
                                System.out.println("輸入有誤,請從新輸入!");
                        }
                    }while (flag1);

                    break;
                case "3":
                    System.out.println("祝您生活愉快!");
                    return;
                default:
                    System.out.println("輸入有誤,請從新輸入!");
            }
        }while (true);

    }
}

輸出結果爲:ui

"C:\Program Files\Java\jdk1.8.0_191\bin\java.exe" "-javaagent:G:\IntelliJ IDEA 2018.3.1\lib\idea_rt.jar=53503:G:\IntelliJ IDEA 2018.3.1\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_191\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar;G:\超市會員管理系統\out\production\超市會員管理系統;C:\Users\劉銘輝\.m2\repository\junit\junit\4.12\junit-4.12.jar;C:\Users\劉銘輝\.m2\repository\org\hamcrest\hamcrest-core\1.3\hamcrest-core-1.3.jar" com.demo.SupermarketMemberSystem
**************歡迎進入超市會員管理系統***************
*****************************************************
一、會員開卡        二、會員登入        3、結束
*****************************************************
請選擇:1
請輸入註冊姓名:admin
請輸入註冊密碼:
888888
恭喜!開通會員卡成功,系統贈送您100積分!您的會員卡號爲:60512122
請用會員卡號從新登入!
*****************************************************
一、會員開卡        二、會員登入        3、結束
*****************************************************
請選擇:2
請輸入您的會員卡號:
60512122
請輸入您的會員卡密碼:
888888
請輸入驗證碼:RpFepk
rpfepk
登入成功!
一、積分累計        二、積分兌換        三、會員信息        四、修改密碼        5、退出帳號
請選擇:3
姓名        會員卡號        剩餘積分        開卡日期
admin        60512122        100        2019-03-01 14:26:59
一、積分累計        二、積分兌換        三、會員信息        四、修改密碼        5、退出帳號
請選擇:1
請輸入您這次的消費金額(消費1元累計1積分):10000
積分累計成功!當前積分爲:10100
一、積分累計        二、積分兌換        三、會員信息        四、修改密碼        5、退出帳號
請選擇:2
請輸入您須要兌換使用的積分(100積分抵用0.1元,不足100的積分不作抵用):5000
您的消費金額中使用會員積分抵消5.0元,剩餘積分:5100
一、積分累計        二、積分兌換        三、會員信息        四、修改密碼        5、退出帳號
請選擇:4
請輸入新密碼:
888888
新密碼與原密碼不能相同!請從新輸入:
111111
請再次輸入新密碼:
111111
修改密碼成功!
一、積分累計        二、積分兌換        三、會員信息        四、修改密碼        5、退出帳號
請選擇:5
*****************************************************
一、會員開卡        二、會員登入        3、結束
*****************************************************
請選擇:3
祝您生活愉快!

Process finished with exit code 0
相關文章
相關標籤/搜索