2019-3-1号作业

超市会员管理系统:

package supermarket;
/**
 * 会员类
 * @author 陈明
 *
 */
public class Member {
    private String name;        // 会员名
    private String password;   //会员密码
    private String time;      //开卡时间
    private int integral;    //会员积分
    private int kahao;      // 卡号
    public String getName() {
        
        return name;
    }
    public Member() {}
    public Member(String name, String password, String time, int integral, int kahao) {
        super();
        this.name = name;
        this.password = password;
        this.time = time;
        this.integral = integral;
        this.kahao = kahao;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public String getTime() {
        return time;
    }
    public void setTime(String time) {
        this.time = time;
    }
    public int getIntegral() {
        return integral;
    }
    public void setIntegral(int integral) {
        this.integral = integral;
    }
    public int getKahao() {
        return kahao;
    }
    public void setKahao(int kahao) {
        this.kahao = kahao;
    }
    
    
}
package supermarket;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.util.Random;
import java.util.Scanner;

import javax.print.attribute.HashAttributeSet;

import org.junit.Test;
import org.xml.sax.HandlerBase;

/**
 * 实现类
 * @author 陈明
 *
 */
public class Realize {
    Scanner sc = new Scanner(System.in);
    Map <Integer,Member>map = new HashMap();
    Random rd = new Random();
    int kahao;
    boolean i=true;
    //生成随机数方法
    /**
     * @return
     */
    @Test
    
    public  int shuiji() {
        int sjs=0;
        while (true) {
            sjs =rd.nextInt(999999);
            if(sjs<100000&&map.containsKey(sjs)) {
                 sjs =rd.nextInt(999999);
            }
            break;
        }
        return sjs;
    }
    
    //生成随机验证码数方法
    public String yzm() {
        String b="";
        int a = 0;
        for(int i=0;i<=4;i++) {
            while(true) {
                a =rd.nextInt(123);
                if(a>=48&&a<=57||a>=97&&a<=122||a>=65&&a<=90) {
                    break;
                }
            }
            char a1=(char)a;
            b+=a1;
        }
        System.out.println("验证码为:"+b);
        return b ;
        
    }
    //开卡方法
    @Test
    
    public void kaika() {
        int i = -1;
        Member me = new Member();
        do {
            
            System.out.println("请输入姓名:");
            String xm = sc.next();
            System.out.println("请输入密码:(密码长度要大于等于6位)");
            String mima1 = sc.next();
            System.out.println("请在次输入密码:(密码长度要大于等于6位)");
            String mima2 = sc.next();
            if(mima1.equals(mima2)&&mima1.length()>6) {
                kahao = shuiji();
                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
                String sj =sdf.format(new Date());
                me.setKahao(kahao);
                me.setName(xm);
                me.setPassword(mima1);
                me.setTime(sj);
                me.setIntegral(100);
                map.put(kahao, me);
                System.out.println("注册成功:");
                System.out.println("您是新用户赠送您100积分");
                System.out.println("您的开卡姓名是\t您的卡号是\t\t密码为\t开卡时间为");
                System.out.println(me.getName()+"\t\t"+me.getKahao()+"\t\t"+me.getPassword()+"\t"+me.getTime());
            }else {
                System.out.println("输入有误,请重新输入:");
                i=0;
            }
        }while(i==0);
        
        
    }
    //登入方法
    public boolean dengru() {
        System.out.println("请输入用户卡号:");
        int kahao =sc.nextInt();
        if(map.containsKey(kahao)) {
            System.out.println("请输入用户密码:");
            String mima =sc.next();
            String b =yzm();
            System.out.println("请输入验证码:");
            String yzm = sc.next();
            if(mima.equals(map.get(kahao).getPassword())&&yzm.equalsIgnoreCase(b)) {
                System.out.println("登入成功");
                return true;
            }else {
                System.out.println("密码不正确/或者验证码不匹配");
                return false;
            }
        }else {
            System.out.println("卡号不存在");
            return false;
        }
        
    }
    //查询积分方法
    public void jifencx() {
        System.out.println("尊敬的"+map.get(kahao).getName()+"用户您好");
        System.out.println("您现在的积分为:"+map.get(kahao).getIntegral());
    }
    //积分累计方法
    public void jifenleiji() {
        System.out.println("请输入您消费的金额:(没消费10得1积分)");
        int jix = 0;
        try {
             jix = sc.nextInt();
        } catch (Exception e) {
            System.out.println("输入错误重新输入:");
        }
        do{
            if(jix<0) {
                System.out.println("输入有误请重新输入:");
            }else {
                map.get(kahao).setIntegral(map.get(kahao).getIntegral()+jix/10);
                System.out.println("你现在的积分为:"+map.get(kahao).getIntegral());
                break;
            }
        }while(true);
    }
    //积分兑换
    public void jifendh() {
        int jf = 0;
        do{
            System.out.println("你现在的积分为:"+map.get(kahao).getIntegral());
            System.out.println("请输入您要兑换的积分:(每10积分可得1元)");
            jf = sc.nextInt();
            if(jf<0) {
                System.out.println("输入有误请重新输入:");
            }else {
                System.out.println("您本次消费"+jf+"元"+"共获得"+jf/10);
                map.get(kahao).setIntegral(map.get(kahao).getIntegral()-jf);
                System.out.println("兑换完后还剩余积分为:"+map.get(kahao).getIntegral());
                break;
            }
        }while(true);
    }
    //修改密码方法
    public void gaimima() {
        do {
            System.out.println("请输入您要修改的密码:");
            String mima1 = sc.next();
            System.out.println("请确认您输入的密码:");
            String mima2 = sc.next();
            if(mima1.equals(mima2)) {
                map.get(kahao).setPassword(mima2);
                System.out.println("修改成功,新密码为:"+map.get(kahao).getPassword());
                break;
            }else {
                System.out.println("输入有误请重新输入");
            }
        }while(true);
        
    }
    //登入界面方法
    public void jm() {
        int s =0;
        Member me = new Member("88888888","88888888","2019-3-1",100,1234567);
        map.put(me.getKahao(), me);
        do {
            System.out.println("----------------------------------------");
            System.out.println("欢迎使用超市会员管理系统!!!");
            System.out.println("1,开卡\t\t2,登入");
            try {
                s = sc.nextInt();
            } catch (Exception e) {
                System.out.println("输入有误,请重新输入:");
                i=true;
                break;
            }
            if(s==1) {
                kaika();
                i=true;
            }else if (s==2){
                boolean f =dengru();
            while(f)    {
                System.out.println("----------------------------------------");
                System.out.println("1,积分查询\t2,积分累计\t3,积分兑换\t4,修改密码\t5,反回主页面\t");
                System.out.println("请输入要操作的功能:");
                int a=0;
                try {
                     a =sc.nextInt();
                } catch (Exception e) {
                    System.out.println("输入有误重新输入:");
                    continue;
                }
                
                switch (a) {
                case 1:
                    System.out.println("---------积分查询-----------");
                    jifencx();
                    break;
                case 2:
                    System.out.println("---------积分累计-----------");
                    jifenleiji();
                    break;
                case 3:
                    System.out.println("---------积分兑换-----------");
                    jifendh();
                    break;
                case 4:
                    System.out.println("---------修改密码-----------");
                    gaimima();
                    f = false;
                    break;
                case 5:
                    System.out.println("---------退出登入-----------");
                    f = false;
                }
            }
            }else {
                System.out.println("输入错误!");    
            }
        }while(i);
    }
}
package supermarket;

import java.util.Scanner;

public class Test {

    public static void main(String[] args) {
         new Realize().jm();
    }    
}

 

posted @ 2019-03-01 16:45  陈xiaolong  阅读(156)  评论(0编辑  收藏  举报