中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java如何實現超市會員管理系統

發布時間:2022-03-19 09:00:08 來源:億速云 閱讀:290 作者:iii 欄目:開發技術

這篇文章主要介紹了Java如何實現超市會員管理系統的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇Java如何實現超市會員管理系統文章都會有所收獲,下面我們一起來看看吧。

要求:借助集合框架及實用類實現該系統

1、積分累計
2、積分兌換
3、查詢剩余積分
4、修改密碼
5、開卡
6、退出

執行結果:

開卡、積分累計部分:

Java如何實現超市會員管理系統

兌換積分、查詢剩余積分部分:

Java如何實現超市會員管理系統

修改密碼、使用新密碼查詢部分:

Java如何實現超市會員管理系統

退出部分:

Java如何實現超市會員管理系統

實現思路:

1、創建會員用戶類:

  • 用戶名、密碼、會員卡號(隨機生成)、注冊日期、積分

2、創建超市業務類:

  • 菜單展示

  • 業務選擇 積分存取方法、積分兌換方法、積分查詢方法、修改密碼方法、開卡方法

  • 判斷集合中是否存在查詢元素方法(由于其他方法中均出現此方法中的代碼,即將其提取出來另列為一個方法)

3、測試類

源碼:

會員用戶類

package cn.zyq.Aug0203;

/**
 * 會員用戶類
 * @author admin
 *
 */
public class Member {
    //姓名
    private String name;
    //密碼
    private String pwd;
    //會員卡號
    private String id;
    //注冊日期
    private String registData;
    //積分
    private int score;
    
    public Member() {
    }
    
    public Member(String name, String pwd, String id, String registData, int score) {
        super();
        this.name = name;
        this.pwd = pwd;
        this.id = id;
        this.registData = registData;
        this.score = score;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPwd() {
        return pwd;
    }

    public void setPwd(String pwd) {
        this.pwd = pwd;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getRegistData() {
        return registData;
    }

    public void setRegistData(String registData) {
        this.registData = registData;
    }

    public int getScore() {
        return score;
    }

    public void setScore(int score) {
        this.score = score;
    }    
}

超市業務類

package cn.zyq.Aug0203;

/**
 * 超市業務類
 */
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 Business {
    Scanner sc = new Scanner(System.in);
    List<Member> list = new ArrayList<Member>();
    
    /**
     * 用戶可選擇菜單
     */
    public void init() {
        System.out.println("\n--------------------歡迎進入會員管理系統--------------------\n");
        System.out.println("1.積分累計      2.積分兌換      3.查詢剩余積分      4.修改密碼      5.開卡            6.退出");
        System.out.println("\n-------------------------------------------------------");
        System.out.println();
        System.out.print("請選擇您要進行的操作:");
        choose(sc.nextInt());
    }
    
    /**
     * 用戶選擇的業務
     *  @param num
     */
    public void choose(int num) {
        switch (num) {
        case 1:
            saveScore();
            break;
        case 2:
            useScore();
            break;
        case 3:
            search();
            break;
        case 4:
            updatePwd();
            break;
        case 5:
            regist();
            break;
        case 6:
            System.out.println("歡迎下次光臨!");
            System.exit(0);
            break;
        }
        init();
    }
    
    /**
     * 積分積累
     */
    public void saveScore() {
        
        Member m = check();
        if(m!=null) {
            System.out.print("請輸入您消費的金額(一元一積分):");
            int score = sc.nextInt();
            m.setScore(m.getScore()+score);
            System.out.println("積分增加成功,目前您的積分為:"+m.getScore());
            System.out.println("積分累計成功!");
        }else {
            System.out.println("積分累計失敗,您輸入的信息有誤!");
        }
    }

    
    /**
     * 積分兌換
     */
    public void useScore() {
        
        Member m = check();
        if(m!=null) {
            System.out.print("請輸入您需要兌換使用的積分(100積分抵用1元,不足100的積分不做抵用):");
            int score = sc.nextInt();
            if(m.getScore()>=100 && score>=100 && score<=m.getScore()) {
                m.setScore(m.getScore()-score);
                System.out.println("您本次消費抵用金額為:"+score/100);
                System.out.println("兌換積分成功!");
            }else {
                System.out.println("兌換積分失敗,賬戶積分不足或需要兌換積分大于剩余積分!");
            }
        }else {
            System.out.println("賬號信息不匹配,無法兌換積分!");
        }
    }
    
    /**
     * 查詢剩余積分
     */
    public void search() {
        
        Member m = check();
        if(m!=null) {
            System.out.println("姓名\t會員卡號\t剩余積分\t開卡日期");
            System.out.println(m.getName()+"\t"+m.getId()+"\t"+m.getScore()+"\t"+m.getRegistData());
        }else {
            System.out.println("輸入的賬號信息不匹配!");
        }
    }
    
    /**
     * 修改密碼
     */
    public void updatePwd() {
        
        Member m = check();
        if(m!=null) {
            System.out.print("請輸入您的新密碼:");
            String pwd = sc.next();
            
            //重新設置密碼
            m.setPwd(pwd);
            System.out.println("密碼修改成功!");
        }else {
            System.out.println("輸入的賬號信息不匹配,無法進行此業務!");
        }
    }
    
    
    /**
     * 積分兌換
     */
    public void regist() {
        System.out.print("歡迎使用本超市會員卡,請輸入您的姓名:");
        String name = sc.next();
        System.out.print("請設置您的密碼(要求密碼長度大于6):");
        String pwd = sc.next();
        //判斷密碼是否合法
        boolean flag = false;
        while(!flag) {
            if(pwd.length()<6) {
                flag = false;
                System.out.print("密碼長度小于6位,請重新輸入密碼:");
                pwd = sc.next();
            }
            else {
                flag = true;
            }
        }
        
        //生成一個八位數的隨機會員卡號
        Random random = new Random();
        int rand = random.nextInt(999999);
        String id = String.valueOf(rand);
        //判斷會員卡是否已存在
        for(Member m:list) {
            if(m.getId()==id) {
                rand = random.nextInt(99999999);
                id = String.valueOf(rand);
            }
        }
        
        //注冊日期
        Date date = new Date();
        SimpleDateFormat dateFormat= new SimpleDateFormat("yyyy-MM-dd :hh:mm:ss");
        String registData = dateFormat.format(date);
        
        //開卡送積分100;
        int score = 100;
        //將用戶記錄添加到列表
        list.add(new Member(name, pwd, id, registData, score));
        System.out.println("恭喜你成為本超市會員,系統贈送您100積分,您的會員卡號為:"+id+",請牢記卡號和密碼!");
        
    }
    
    /**
     * 信息檢測,list中是否存有指定用戶信息
     */
    public Member check() {
        System.out.print("請輸入您的會員卡號:");
        String id = sc.next();
        System.out.print("請輸入您的密碼:");
        String pwd = sc.next();
        for(Member m:list) {
            if(m.getId().equals(id) && m.getPwd().equals(pwd)) {
                return m;
            }
        }
        return null;
    }
}

測試類

package cn.zyq.Aug0203;

/**
 * 測試類
 * @author admin
 *
 */
public class Test {
    public static void main(String[] args) {
        Business business = new Business();
        business.init();
    }
}

關于“Java如何實現超市會員管理系統”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“Java如何實現超市會員管理系統”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

平南县| 乾安县| 镇平县| 汝南县| 亳州市| 双桥区| 四平市| 淮阳县| 台前县| 台湾省| 介休市| 吴江市| 泰宁县| 鸡西市| 定襄县| 龙口市| 进贤县| 南昌市| 东辽县| 林芝县| 自治县| 天门市| 桐乡市| 台中县| 兰溪市| 宜良县| 金湖县| 越西县| 巩留县| 厦门市| 黔东| 新河县| 芒康县| 临汾市| 明溪县| 九龙县| 综艺| 平定县| 讷河市| 南陵县| 睢宁县|