zoukankan      html  css  js  c++  java
  • 超市会员管理系统

     1 package com.bdqn;
     2 /**
     3  * 会员类
     4  * @author Mr.zhang
     5  *
     6  */
     7 public class Mamber {
     8     //姓名 卡号 密码 开卡日期 积分
     9     private String name;
    10     private int cardId;
    11     private String pwd;
    12     private int score;
    13     private double money;
    14     private String date;
    15     
    16     
    17     public String getName() {
    18         return name;
    19     }
    20     public void setName(String name) {
    21         this.name = name;
    22     }
    23     public int getCardId() {
    24         return cardId;
    25     }
    26     public void setCardId(int cardId) {
    27         this.cardId = cardId;
    28     }
    29     public String getPwd() {
    30         return pwd;
    31     }
    32     public void setPwd(String pwd) {
    33         this.pwd = pwd;
    34     }
    35     public double getMoney() {
    36         return money;
    37     }
    38     public void setMoney(double money) {
    39         this.money = money;
    40     }
    41     public int getScore() {
    42         return score;
    43     }
    44     public void setScore(int score) {
    45         this.score = score;
    46     }
    47     public String getDate() {
    48         return date;
    49     }
    50     public void setDate(String date) {
    51         this.date = date;
    52     }
    53     public Mamber(String name, int cardId, String pwd, int score, double money, String date) {
    54         super();
    55         this.name = name;
    56         this.cardId = cardId;
    57         this.pwd = pwd;
    58         this.score = score;
    59         this.money = money;
    60         this.date = date;
    61     }
    62     public Mamber() {
    63         super();
    64     }
    65     
    66     
    67     
    68     
    69     
    70     
    71 }
      1 package com.bdqn;
      2 
      3 import java.text.SimpleDateFormat;
      4 import java.util.ArrayList;
      5 import java.util.Date;
      6 import java.util.InputMismatchException;
      7 import java.util.Random;
      8 import java.util.Scanner;
      9 /**
     10  * 实现类
     11  * @author Mr.zhang
     12  *
     13  */
     14 public class MamberDao{
     15     Scanner sc = new Scanner(System.in);
     16     ArrayList<Mamber> list = new ArrayList<Mamber>();
     17 
     18     //添加三个初始用户
     19     public void tj() {
     20         Mamber m1 = new Mamber("武大郎",11111111,"123456",100,100.0,"2016-01-01 12:25:30");
     21         Mamber m2 = new Mamber("潘金莲",22222222,"123456",100,150.0,"2016-01-02 13:25:30");
     22         Mamber m3 = new Mamber("西门庆",33333333,"123456",100,1000.0,"2016-01-03 14:25:30");
     23         
     24 //        Mamber master = new Mamber();
     25 //        master.setName("007");
     26 //        master.setCardId(66666666);
     27 //        master.setPwd("66666666");
     28         
     29         list.add(m1);
     30         list.add(m2);
     31         list.add(m3);
     32 //        list.add(master);
     33         
     34     }
     35     //登录 开卡 退出
     36     public void begin1() {
     37         tj();
     38         boolean flag = true;
     39         do {
     40             System.out.println("**************欢迎进入超市会员管理系统**************");
     41             System.out.println("1.开卡	2.登录	3.退出");
     42             System.out.print("请选择:");    
     43             int choose = sc.nextInt();
     44             switch (choose) {
     45             case 1:
     46                 //开卡
     47                 getCard();
     48                 break;
     49             case 2:
     50                 //登录
     51                 //判断是否为管理员
     52 //                if(masterPanDuan()) {
     53 //                    printAll();
     54 //                    break;
     55 //                }
     56                 //普通登录
     57                 if(register()) {
     58                     System.out.println("登录成功!");
     59                     start();
     60                 }else {
     61                     System.out.println("登录失败!不能找到此用户");
     62                 }
     63                 break;
     64             case 3:
     65                 //退出
     66                 System.out.println("感谢使用,欢迎下次使用!");
     67                 flag=false;
     68                 System.exit(1);
     69                 break;
     70             default:
     71                 break;
     72             }
     73         }while(flag);
     74     }
     75     //判断是否为管理员
     76 //    public boolean masterPanDuan() {
     77 //        System.out.println("请输入会员账号:");
     78 //        int cardId = sc.nextInt();
     79 //        System.out.println("请输入会员密码:");
     80 //        String pwd = sc.next();
     81 //        if(hasMaber(cardId, pwd) instanceof Mamber) {
     82 //            printAll();
     83 //            return true;
     84 //            
     85 //        }
     86 //        return false;
     87 //    }
     88     //登录
     89     public boolean register() {
     90         boolean falg = false ;
     91         System.out.println("请输入会员账号:");
     92         int id = 0;
     93         String pwd = "";
     94         try{
     95             id = sc.nextInt();
     96             System.out.println("请输入会员密码:");
     97             pwd = sc.next();
     98         }catch(InputMismatchException e) {
     99             System.err.println("请输入合法账号");
    100         }
    101 
    102         for(Mamber m : list) {
    103             if(id==m.getCardId()&&pwd.equals(m.getPwd())) {
    104                 falg = true;
    105             }
    106         }
    107         return falg;
    108     }
    109     //展示所有会员信息
    110     public void printAll() {
    111         for(Mamber ma : list) {
    112             System.out.println("姓名:"+ma.getName()+"	会员卡号为:"+ma.getCardId()+"	剩余金额为:"+ma.getMoney()+"	开卡日期为:"+ma.getDate());
    113         }
    114     }
    115     //展示业务
    116     public void print() {
    117         System.out.println("*****************选择您要办理的业务*****************");
    118         System.out.println("1.积分累计	2.积分兑换	3.查询积分	4余额查询	5.修改密码	6.返回上一页");
    119         System.out.print("请选择:");
    120     }
    121     //开始
    122     public void start() {
    123         do {
    124             print();
    125             int choose = sc.nextInt();
    126             switch (choose) {
    127             case 1:
    128                 //积分累计
    129                 System.out.println("******积分累积******");
    130                 if(saveScore()) {
    131                     System.out.println("累计积分成功");
    132                 }else {
    133                     System.out.println("累计积分失败");
    134                 }
    135                 continue;
    136             case 2:
    137                 //积分兑换
    138                 System.out.println("******积分兑换******");
    139                 if(minusScore()) {
    140                     System.out.println("积分兑换成功!");
    141                 }else {
    142                     System.out.println("积分兑换失败!");
    143                 }
    144                 continue;
    145             case 3:
    146                 //查询积分
    147                 System.out.println("******积分查询******");
    148                 showScore();
    149                 continue;
    150             case 4:
    151                 //余额查询
    152                 showMoney();
    153                 continue;
    154             case 5:
    155                 //修改密码
    156                 System.out.println("******修改密码******");
    157                 if(modifyPwd()) {
    158                     System.out.println("密码修改成功!");
    159                 }else {
    160                     System.out.println("密码修改失败!");
    161                 }
    162                 continue;
    163             case 6:
    164                 //返回上一页
    165                 break;
    166             default:
    167                 System.out.println("输入有误,重新输入:");
    168                 continue;
    169             }
    170             break;
    171         }while(true);
    172     }
    173 
    174     //累计积分
    175     public boolean saveScore(){
    176         boolean falg = true;
    177         System.out.print("请输入会员卡号:");
    178         int id = sc.nextInt();
    179         System.out.print("请输入会员卡密码:");
    180         String pwd = sc.next();
    181         Mamber mamber = hasMaber(id,pwd);
    182         if(mamber!=null) {
    183             System.out.println("请输入此次消费金额:(1元等于1积分)");
    184             int score = sc.nextInt();
    185             mamber.setScore(mamber.getScore()+score);
    186             falg = true;
    187         }else {
    188             System.out.println("未能找到此用户!");
    189             falg = false;
    190         }
    191         return falg;
    192     }
    193     //积分兑换
    194     public boolean minusScore(){
    195         boolean falg = true;
    196         System.out.print("请输入会员卡号:");
    197         int id = sc.nextInt();
    198         System.out.print("请输入会员卡密码:");
    199         String pwd = sc.next();
    200         Mamber mamber = hasMaber(id,pwd);
    201         if(mamber!=null) {
    202             System.out.println("请输入此次兑换积分:(1积分等于0.05元)");
    203             int score = sc.nextInt();
    204             if(score<=mamber.getScore()) {
    205                 mamber.setScore(mamber.getScore()-score);
    206                 double dou =score/20;
    207                 System.out.println("您此次使用"+score+"积分兑换了"+dou+"元");
    208                 mamber.setMoney(mamber.getMoney()+dou);
    209                 System.out.println("您的余额为:"+mamber.getMoney());
    210                 falg = true;
    211             }else {
    212                 System.out.println("积分不足!无法兑换");
    213                 falg = false;
    214             }
    215 
    216         }else {
    217             System.out.println("密码输入错误!");
    218             falg = false;
    219         }
    220         return falg;
    221     }
    222     //积分查询
    223     public void showScore() {
    224         System.out.println("请输入会员卡号:");
    225         int id = sc.nextInt();
    226         System.out.println("请输入密码:");
    227         String pwd = sc.next();
    228         if(hasMaber(id, pwd) instanceof Mamber) {
    229             System.out.println("姓名:"+hasMaber(id, pwd).getName()+"	会员卡号为:"+hasMaber(id, pwd).getCardId()+"	积分余额为:"+hasMaber(id, pwd).getScore()+"	开卡日期为:"+hasMaber(id, pwd).getDate());
    230         }else {
    231             System.out.println("没有此用户!");
    232         }
    233 
    234     }
    235     //余额查询
    236     public void showMoney() {
    237         System.out.println("请输入会员卡号:");
    238         int id = sc.nextInt();
    239         System.out.println("请输入密码:");
    240         String pwd = sc.next();
    241         if(hasMaber(id, pwd) instanceof Mamber) {
    242             System.out.println("姓名:"+hasMaber(id, pwd).getName()+"	会员卡号为:"+hasMaber(id, pwd).getCardId()+"	剩余金额为:"+hasMaber(id, pwd).getMoney()+"	开卡日期为:"+hasMaber(id, pwd).getDate());
    243         }else {
    244             System.out.println("没有此用户!");
    245         }
    246     }
    247     //密码修改
    248     public boolean modifyPwd() {
    249         boolean flag = false;
    250         System.out.println("请输入会员卡号:");
    251         int cardId = sc.nextInt();
    252         System.out.println("请输入原密码:");
    253         String pwd = sc.next();
    254         if(hasMaber(cardId, pwd) instanceof Mamber) {
    255             System.out.println("请输入新密码:");
    256             String newPwd = sc.next();
    257             System.out.println("请确认新密码:");
    258             String againPwd = sc.next();
    259             if(newPwd.equals(againPwd)) {
    260                 //判断密码长度
    261                 hasMaber(cardId, pwd).setPwd(againPwd);
    262                 flag = true;
    263             }else {
    264                 System.out.println("两次密码不一致!无法修改");
    265             }
    266         }else {
    267             System.out.println("账号或密码输入错误,不能修改密码");
    268         }
    269         return flag;
    270     }
    271 
    272 
    273     //根据会员账号和密码查询当前用户是否存在
    274     public Mamber hasMaber(int id,String pwd) {
    275         for(Mamber mamber : list) {
    276             if(mamber.getCardId() == id && mamber.getPwd().equals(pwd)) {
    277                 return mamber;
    278             }
    279         }
    280         return null;
    281     }
    282 
    283     //随机卡号
    284     public int CardId() {
    285         Random ran = new Random();
    286         int id = ran.nextInt(99999999);
    287         for(Mamber ma : list) {
    288             if(ma.getCardId() == id) {
    289                 id = ran.nextInt(99999999);
    290             }
    291         }
    292         return id;
    293     }
    294     //注册
    295     public void getCard() {
    296         System.out.println("******注册会员******");
    297         Mamber mam = new Mamber();
    298         System.out.println("请输入开卡人姓名:");
    299         mam.setName(sc.next());
    300         //随机生成卡号
    301         int cardId = CardId();
    302         mam.setCardId(cardId);
    303         boolean falg = true;
    304         do {
    305             System.out.println("请输入注册密码:");
    306             String pwd = sc.next();
    307             System.out.println("请确认密码:");
    308             String str = sc.next();
    309             if(str.equals(pwd)) {
    310                 if(pwd.length()<6) {
    311                     System.out.println("会员密码不能小于6位,重新输入:");
    312                     falg = false;
    313                 }else {
    314                     mam.setPwd(pwd);
    315                     falg = true;
    316                 }
    317             }else {
    318                 System.out.println("请确认两次密码一致!");
    319                 falg = false;
    320             }
    321         }while(!falg);
    322         //开通成功后赠送100积分
    323         mam.setScore(100);
    324         //开卡时间
    325         Date date = new Date();
    326         SimpleDateFormat formate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    327         String sdate = formate.format(date);
    328         mam.setDate(sdate);
    329         System.out.println("您的会员卡开通成功!赠送您100积分
    您的会员卡号是:"+cardId+"
    开卡时间为:"+mam.getDate());
    330         //将会员添加到集合中
    331         list.add(mam);
    332     }
    333 }
     1 package com.bdqn;
     2 /**
     3  * 测试类
     4  * @author Mr.zhang
     5  *
     6  */
     7 public class Main {
     8     public static void main(String[] args) {
     9         MamberDao ma = new MamberDao();
    10         ma.begin1();
    11     }
    12 }
  • 相关阅读:
    day12. 闭包
    day11.函数的全局变量和局部变量
    day10.函数基础及函数参数
    day9.关于文件的操作
    day7.关于字符串的相关操作
    day8.列表、字典、集合相关操作
    day6. while双项循环及for循环
    LeetCode-Unique Binary Search Trees II
    LeetCode-Unique Binary Search Trees
    LeetCode-Edit Distance
  • 原文地址:https://www.cnblogs.com/Zhangchuanfeng1/p/10457524.html
Copyright © 2011-2022 走看看