用Java做项目:移动大厅业务工作

import onr.*;

import java.io.*;
import java.text.DecimalFormat;
import java.util.*;

/**
 * @author -Wh-
 * @date 2022/2/21 16:26
 * @descripition
 */
public class Text {
    Scanner sc= new Scanner(System.in);
    Set<String> set = new HashSet<>();
    Map<String, MobileCard> cardMap = new HashMap<>();
    Map<String, List<ConsumInfo>> consumlnfos = new HashMap<>();
    List<ConsumInfo> list = new ArrayList<>();
    MobileCard mc = new MobileCard();
    ConsumInfo ci = new ConsumInfo();
    int time,type,flow,i=0;

    //套餐
    //初始化话唠套餐
    TalkPackage tp = new TalkPackage(58,500,30);
    //初始化网虫套餐
    NetPackage ns = new NetPackage(68,3);
    //初始化超人套餐
    SuperPackage sp = new SuperPackage(78,20,50,1);
    //初始化使用场景
    //初始化六种情况
    String s1 = "快递丢失,与快递小哥争论不休。通话90分钟";
    String s2 = "和女朋友吵架,被拉黑,发短信30条进行解释";
    String s3 = "直播打游戏,使用流量1个G";
    String s4 = "去远方,刚下飞机,给家人报平安。发送短信10条";
    String s5 = "通知好友们将要结婚。通话10分钟";
    String s6 = "放假在家,上网冲浪,使用流量2个G";

    //菜单
    public int caiDan(){
        System.out.println("********************欢迎使用嗖嗖移动业务大厅********************");
        System.out.println("1.用户登录,2.用户注册,3.使用嗖嗖,4.话费充值,5.资费说明,6退出系统");
        System.out.println("请选择:");
        int i = sc.nextInt();
        return i;
    }
    //二级菜单
    public int erCaiDan(){
        System.out.println("******嗖嗖移动用户菜单******");
        System.out.println("1.本月账单查询");
        System.out.println("2.套餐余量查询");
        System.out.println("3.打印消费详单");
        System.out.println("4.套餐变更");
        System.out.println("5.办理退网");
        System.out.println("请选择(输入1~5选择功能,其他键返回上一级):");
        int i = sc.nextInt();
        return i;
    }
    //超出套餐的计费
    public void chaoJiFei(){
        System.out.println("超出套餐计费如下:");
        System.out.println("通话:0.2元/分钟");
        System.out.println("短信:0.1元/分钟");
        System.out.println("上网流量:0.1元/MB(1GB=1024MB)");
    }
    //电话号码
    public String dianHuaNum(){
        //初始化电话号码和set(j,z)的下标
        String str1 = "";
        int j = 0,z= 1;
        //循环录入手机号
        for (int i = 0; set.size() < 9; i++) {
            //随机产生8位数的随机数
            int num=(int)(Math.random()*100000000);
            //如果随机数小于八位数就重新生成,直到随机数为八位数
            while (num<10000000){
                num=(int)(Math.random()*100000000);
            }
            if (!cardMap.containsKey("139"+num)){
                //将随机的八位数存到set集合中
                set.add("139"+num);
            }
        }
        //遍历set集合显示九个手机号码
        for (String str : set) {
            //每三个为一行
            if (j%3==0&&j!=0){
                System.out.println();
            }
            //输出手机号
            System.out.print((j+1)+"."+str+"\t");
            //递增来进行序号与三个一行的运算
            j++;
        }
        System.out.println();
        //让客户输入序号来获取手机号
        System.out.print("请选择卡号(输入1~9的序号):");
        int i = sc.nextInt();
        //遍历集合来判断客户输入的序号与set集合中的的位置一致则返回该索引的电话号码
        for (String str : set) {
            if (z==i){
                str1= str;
            }
            z++;
        }
        return str1;
    }
    //用户登录
    public boolean dengLu(){
        //用户录入手机卡号和密码
        System.out.println("请输入手机卡号:");
        String carkNum = sc.next();
        if (cardMap.isEmpty()){
            System.out.println("未注册,请先注册");
        }else {
            System.out.println("请输入密码:");
            String pass = sc.next();
            //将map集合的键值存在set集合中来进行遍历
            Set<String> str = cardMap.keySet();
            //遍历数组得到键值对应的对象
            for (String key : str) {
                mc = cardMap.get(key);
                //进行手机号和密码的匹配,正确返回true,不正确返回flase
                if (mc.getCardNumber().equals(carkNum)&&mc.getPassWord().equals(pass)){
                    return true;
                }else {
                    System.out.println("登录失败,账号密码错误");
                }
            }
        }
        return false;
    }
    //用户注册
    public void zhuCe(){
        //实例化手机号输出进行选择
        String shouJiNum = dianHuaNum();
        System.out.println("1.话唠套餐,2.网虫套餐,3.超人套餐,请输入套餐(输入序号):");
        int i = sc.nextInt();
        //用户录入姓名和密码以及预存话费余额
        System.out.print("请输入姓名:");
        String name = sc.next();
        System.out.print("请输入密码:");
        String pass = sc.next();
        System.out.print("请输入预存话费余额:");
        double yuE = sc.nextDouble();
        //选择话唠套餐
        if (i==1){
            //判断预存话费如果小于套餐费就重新录入预存话费
            while (yuE<tp.getPrice()){
                System.out.print("您预存的话费余额不足以支付本月固定套餐资费,请重新充值:");
                yuE = sc.nextDouble();
            }
            //计算减去套餐费之后的余额
            double moeny = yuE-tp.getPrice();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值