最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java實現(xiàn)超市會員管理系統(tǒng)

 更新時間:2022年03月18日 16:19:58   作者:YaJeanZhang_  
這篇文章主要為大家詳細(xì)介紹了Java實現(xiàn)超市會員管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了Java實現(xiàn)超市會員管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下

要求:借助集合框架及實用類實現(xiàn)該系統(tǒng)

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

執(zhí)行結(jié)果:

開卡、積分累計部分:

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

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

退出部分:

實現(xiàn)思路:

1、創(chuàng)建會員用戶類:

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

2、創(chuàng)建超市業(yè)務(wù)類:

  • 菜單展示
  • 業(yè)務(wù)選擇 積分存取方法、積分兌換方法、積分查詢方法、修改密碼方法、開卡方法
  • 判斷集合中是否存在查詢元素方法(由于其他方法中均出現(xiàn)此方法中的代碼,即將其提取出來另列為一個方法)

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;
?? ?}?? ?
}

超市業(yè)務(wù)類

package cn.zyq.Aug0203;

/**
?* 超市業(yè)務(wù)類
?*/
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--------------------歡迎進(jìn)入會員管理系統(tǒng)--------------------\n");
?? ??? ?System.out.println("1.積分累計 ? ? ?2.積分兌換 ? ? ?3.查詢剩余積分 ? ? ?4.修改密碼 ? ? ?5.開卡 ? ? ? ? ? ?6.退出");
?? ??? ?System.out.println("\n-------------------------------------------------------");
?? ??? ?System.out.println();
?? ??? ?System.out.print("請選擇您要進(jìn)行的操作:");
?? ??? ?choose(sc.nextInt());
?? ?}
?? ?
?? ?/**
?? ? * 用戶選擇的業(yè)務(wù)
?? ? * ?@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();
?? ??? ??? ?
?? ??? ??? ?//重新設(shè)置密碼
?? ??? ??? ?m.setPwd(pwd);
?? ??? ??? ?System.out.println("密碼修改成功!");
?? ??? ?}else {
?? ??? ??? ?System.out.println("輸入的賬號信息不匹配,無法進(jìn)行此業(yè)務(wù)!");
?? ??? ?}
?? ?}
?? ?
?? ?
?? ?/**
?? ? * 積分兌換
?? ? */
?? ?public void regist() {
?? ??? ?System.out.print("歡迎使用本超市會員卡,請輸入您的姓名:");
?? ??? ?String name = sc.next();
?? ??? ?System.out.print("請設(shè)置您的密碼(要求密碼長度大于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;
?? ??? ??? ?}
?? ??? ?}
?? ??? ?
?? ??? ?//生成一個八位數(shù)的隨機(jī)會員卡號
?? ??? ?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("恭喜你成為本超市會員,系統(tǒng)贈送您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();
?? ?}
}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解Java如何通過Socket實現(xiàn)查詢IP

    詳解Java如何通過Socket實現(xiàn)查詢IP

    在本文中,我們來學(xué)習(xí)下如何找到連接到服務(wù)器的客戶端計算機(jī)的IP地址。我們將創(chuàng)建一個簡單的客戶端-服務(wù)器場景,讓我們探索用于TCP/IP通信的java.net?API,感興趣的可以了解一下
    2022-10-10
  • 詳解Spring Data JPA中Repository的接口查詢方法

    詳解Spring Data JPA中Repository的接口查詢方法

    repository代理有兩種方式從方法名中派生出特定存儲查詢:通過直接從方法名派生查詢和通過使用一個手動定義的查詢。本文將通過示例詳細(xì)講解Spring Data JPA中Repository的接口查詢方法,需要的可以參考一下
    2022-04-04
  • 關(guān)于Java HashMap自動排序的簡單剖析

    關(guān)于Java HashMap自動排序的簡單剖析

    這篇文章主要給大家介紹了關(guān)于Java HashMap自動排序的簡單剖析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • JFreeChart實現(xiàn)實時曲線圖

    JFreeChart實現(xiàn)實時曲線圖

    這篇文章主要為大家詳細(xì)介紹了JFreeChart實現(xiàn)實時曲線圖的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • Springboot項目編寫測試單元完整步驟記錄

    Springboot項目編寫測試單元完整步驟記錄

    這篇文章主要介紹了如何使用JUnit編寫Spring?Boot項目中的測試單元,包括引入依賴、配置文件設(shè)置、啟動文件創(chuàng)建以及編寫測試類的步驟,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-03-03
  • nacos客戶端一致性hash負(fù)載需求實現(xiàn)

    nacos客戶端一致性hash負(fù)載需求實現(xiàn)

    這篇文章主要介紹了nacos客戶端一致性hash負(fù)載的需求實現(xiàn)過程及步驟詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2022-02-02
  • MyBatis-Plus的apply用法小結(jié)

    MyBatis-Plus的apply用法小結(jié)

    apply方法是一個非常有用的功能,apply方法允許用戶直接在QueryWrapper或LambdaQueryWrapper中添加原生SQL片段,本文就詳細(xì)的介紹一下apply方法,感興趣的可以了解一下
    2024-10-10
  • 詳解Java的堆內(nèi)存與棧內(nèi)存的存儲機(jī)制

    詳解Java的堆內(nèi)存與棧內(nèi)存的存儲機(jī)制

    這篇文章主要介紹了Java的堆內(nèi)存與棧內(nèi)存的存儲機(jī)制,包括JVM的內(nèi)存優(yōu)化和GC等相關(guān)方面內(nèi)容,需要的朋友可以參考下
    2016-01-01
  • 解決Springboot2.1.x配置Activiti7單獨數(shù)據(jù)源問題

    解決Springboot2.1.x配置Activiti7單獨數(shù)據(jù)源問題

    這篇文章主要介紹了Springboot2.1.x配置Activiti7單獨數(shù)據(jù)源問題,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-09-09
  • Java中如何模擬HTTP請求并驗證功能

    Java中如何模擬HTTP請求并驗證功能

    要模擬HTTP請求并驗證功能,你可以使用Spring Boot提供的MockMvc工具,它允許我們在沒有實際啟動HTTP服務(wù)器的情況下測試Spring MVC控制器,下面給大家分享如何模擬HTTP請求并驗證功能,感興趣的朋友一起看看吧
    2024-05-05

最新評論

榆中县| 堆龙德庆县| 南皮县| 赤水市| 广宗县| 玉山县| 枝江市| 客服| 嘉黎县| 襄汾县| 微山县| 宜川县| 阿拉善左旗| 金乡县| 江城| 濮阳市| 崇礼县| 武夷山市| 个旧市| 沙田区| 普兰县| 米泉市| 康马县| 营口市| 江津市| 昌黎县| 青岛市| 黑河市| 通州区| 彭山县| 吉安县| 子长县| 安乡县| 玛纳斯县| 读书| 宁津县| 安国市| 伊宁市| 扶风县| 堆龙德庆县| 顺平县|