千家信息网

Java如何实现客户信息管理系统

发表于:2024-11-15 作者:千家信息网编辑
千家信息网最后更新 2024年11月15日,这篇文章主要介绍Java如何实现客户信息管理系统,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、软件设计结构对于初学者来说,弄清框架显得尤为重要首先该软件有以下三种模块组成二
千家信息网最后更新 2024年11月15日Java如何实现客户信息管理系统

这篇文章主要介绍Java如何实现客户信息管理系统,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

一、软件设计结构

  • 对于初学者来说,弄清框架显得尤为重要

  • 首先该软件有以下三种模块组成

二、MVC设计模式

模型层:Customer处理数据

控制层:CustomerList处理业务逻辑

视图层:CustomerView显示数据

以下三点建议结合代码理解

1.Customer为实体对象,用于封装客户信息

2.CustomerList为Customer对象的管理模块,内部用数组管理一组Customer对象,并提供相应的添加、修改、删除和遍历的方法,供CustomerView调用

3.CustomerView为主模块,负责菜单的显示和处理用户操作

四个类都在同一包下

三、Customer

package org.atjinzhao.customer;public class Customer {        private String name;//姓名        private char gender;//性别        private int age;//年龄        private String phone;//电话        private String email;//邮箱                public Customer() {                        }        public Customer(String name, char gender, int age, String phone, String email) {                                this.name = name;                this.gender = gender;                this.age = age;                this.phone = phone;                this.email = email;        }        public String getName() {                return name;        }        public void setName(String name) {                this.name = name;        }        public char getGender() {                return gender;        }        public void setGender(char gender) {                this.gender = gender;        }        public int getAge() {                return age;        }        public void setAge(int age) {                this.age = age;        }        public String getPhone() {                return phone;        }        public void setPhone(String phone) {                this.phone = phone;        }        public String getEmail() {                return email;        }        public void setEmail(String email) {                this.email = email;        }                }

四、CustomerList

package org.atjinzhao.customer;public class CustomerList {        private Customer[] customers;//客户列表        private int total = 0;//记录已保存顾客数量                //构造器        public CustomerList(int totalCustomer) {                customers = new Customer[totalCustomer];        }                //方法        /**         * 添加客户         * return:true添加成功,false:添加失败         */        public boolean addCustomer(Customer customer){                if (total < customers.length) {                        customers[total] = customer;                        total++;                        return true;                }else return false;                        }        /**         * 修改指定索引位置上的客户信息         * @param index         * @param cust         * @return true:修改成功     false修改失败         */        public boolean replaceCustomer(int index,Customer cust){                if (index < 0 || index >= total) {                        return false;                }else{                        customers[index] = cust;                        return true;                }                        }        /**         * 删除指定索引位置上的客户         * @param index         * @return true删除成功    false删除失败         */        public boolean deleteCustomer(int index){                if (index >= 0 && index < total) {                        for (int i = index; i < total - 1; i++) {                                customers[i] = customers[i+1];                        }                        customers[--total] = null;                         return true;                }                return false;                        }        /**         * 获取所有客户信息         * @return 数组         */        public Customer[] getAllCustomers(){                //null的部分不返回                Customer[] custs = new Customer[total];                for (int i = 0; i < total; i++) {                        custs[i] = customers[i];                }                return custs;        }        /**         * 获取指定索引位置上的客户         */        public Customer getCustomer(int index){                if (index >= 0 && index < total) {                return customers[index];                }else return null;        }        /**         * 获取存储客户的数量         */        public int getTotal() {                return total;        }        /**         * 获取最大能储存客户的数量         */        public int getCustomer(){                return customers.length;        }}

五、CustomerView

package org.atjinzhao.customer;public class CustomerView {        private CustomerList  customerList = new CustomerList(10);                public CustomerView() {                Customer cust = new Customer("李明",'男',19,"12349982563","lm@gmail.com");                customerList.addCustomer(cust);        }        public void enterMainMenu(){                //显示主页面                boolean isFlag = true;                while(isFlag){                        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): ");                                                char selection = CMUtility.readMenuSelection();                        switch (selection) {                        case '1':                                addNewCustomer();                                break;                        case '2':                                modifyCustomer();                                break;                        case '3':                                                                deleteCustomer();                                break;                        case '4':                                listAllCustomers();                                break;                        case '5':                                System.out.print("是否确认退出(Y/N):");                                char isExit = CMUtility.readConfirmSelection();                                if (isExit == 'Y') {                                        isFlag = false;                                }                        }                                        }                        }        /**         * 添加客户         */        public void addNewCustomer(){                System.out.println("-----------------添加客户-----------------");                System.out.print("姓名:");                String name = CMUtility.readString(10);                System.out.print("性别:");                char gender = CMUtility.readChar();                System.out.print("年龄:");                int age = CMUtility.readInt();                System.out.print("电话:");                String phone = CMUtility.readString(13);                System.out.print("邮箱:");                String email = CMUtility.readString(30);                                Customer customer = new Customer(name,gender,age,phone,email);                boolean isSuccess = customerList.addCustomer(customer);                if(isSuccess){                        System.out.println("-----------------添加成功-----------------");                }else{                        System.out.println("---------------目录已满,添加失败---------------");                }                       }        /**         * 修改客户         */        public void modifyCustomer(){                System.out.println("-----------------修改客户-----------------");                Customer cust;                int num;                for (;;) {                        System.out.print("请输入要修改的客户序号(输入-1退出):");                        num = CMUtility.readInt();                        if (num == -1) {                                return;                        }                        cust = customerList.getCustomer(num - 1);                        if (cust == null) {                                System.out.println("无法找到指定客户!");                        } else {                                break;                        }                }                                System.out.println("姓名("+cust.getName()+"):");                String name = CMUtility.readString(10, cust.getName());                System.out.println("性别("+cust.getGender()+"):");                char gender = CMUtility.readChar( cust.getGender());                System.out.println("年龄("+cust.getAge()+"):");                int age = CMUtility.readInt(cust.getAge());                System.out.println("电话("+cust.getPhone()+"):");                String tel = CMUtility.readString(11, cust.getPhone());                System.out.println("邮箱("+cust.getEmail()+"):");                String email = CMUtility.readString(15, cust.getEmail());                                Customer newCust = new Customer(name,gender,age,tel,email);                boolean isReplaced = customerList.replaceCustomer(num - 1, newCust);                if (isReplaced) {                        System.out.println("-----------------修   改  成  功-----------------       ");                } else {                        System.out.println("-----------------修   改  失  败-----------------       ");                }                                        }        /**         * 删除客户         */        public void deleteCustomer(){                System.out.println("-----------------删除客户-----------------");                Customer cust;                int index;                for (;;) {                        System.out.print("请输入要删除的客户序号(输入-1退出):");                        index = CMUtility.readInt();                        if (index == -1) {                                return;                        }                        cust = customerList.getCustomer(index - 1);                        if (cust == null) {                                System.out.println("无法找到客户!");                        } else {                                break;                        }                }                                System.out.print("是否确认删除(Y/N):");                char isDelete = CMUtility.readConfirmSelection();                if (isDelete == 'Y') {                        boolean deleteSuccess = customerList.deleteCustomer(index - 1);                        if (deleteSuccess) {                                System.out.println("-----------------删除成功-----------------");                        } else {                                System.out.println("-----------------删除失败-----------------");                        }                }else{                        return;                }        }        /**         * 显示客户列表的操作         */        public void listAllCustomers(){                System.out.println("-------------------客  户  列  表------------------");                int total = customerList.getTotal();                if (total == 0) {                        System.out.println("没有客户记录!");                }else {                        System.out.println("编号     姓名      性别      年龄      电话              邮箱");                        Customer[] custList = customerList.getAllCustomers();                        for (int i = 0; i < total; i++) {                                System.out.println(i+1 + "       " + custList[i].getName()+                                                "  " + custList[i].getGender()+"       " + custList[i].getAge()+                                                "  " + custList[i].getPhone()+"        " + custList[i].getEmail()+"        ");                        }                }                System.out.println("-----------------客户列表完成-----------------");        }        public static void main(String[] args) {                CustomerView view = new CustomerView();                view.enterMainMenu();        }                }

六、CMUtility

package org.atjinzhao.customer;import java.util.*;public class CMUtility {        public static void main(String[] args) {                //System.out.println(readMenuSelection());        }        private static Scanner scanner = new Scanner(System.in);        /**         * 用于界面菜单的选择。该方法读取键盘用户键入的'1'-'5'的任意字符,方法返回。         *          */        public static char readMenuSelection() {                // 获取功能选择                char c;                for (;;) {                        String str = readKeyBoard(1, false);                        c = str.charAt(0);                        if (c != '1' && c != '2' && c != '3' && c != '4' && c != '5') {                                System.out.println("选择错误,请重新输入:");                        } else break;                }                return c;        }                /**         * 从键盘读取一个字符,并将其作为方法的返回值。         * 获取性别         */        public static char readChar(){                String str = readKeyBoard(1,false);                return str.charAt(0);        }        /**         *从键盘读取一个字符,并将其作为方法的返回值。         *如果用户不输入字符而回车,方法将以defaultValue 作为返回值。          *         */        public static char readChar(char defaultValue){                String str = readKeyBoard(1,true);                return (str.length()==0)? defaultValue : str.charAt(0);        }        /**         * 从键盘读取一个长度不超过2位的整数,并将其作为方法的返回值。         * 获取年龄         */        public static int readInt(){                int n;                for(;;){                        String str = readKeyBoard(2,false);                        try{                                n = Integer.parseInt(str);                                break;                        }catch (NumberFormatException e) {                                System.out.print("数字输入错误,请重新输入:");                        }                }                return n;        }        /**         *从键盘读取一个字符,并将其作为方法的返回值。         *如果用户不输入字符而回车,方法将以defaultValue 作为返回值。         */        public static int readInt(int defaultValue){                //修改年龄信息时,不输入信息直接回车                int n;                for (; ; ) {                        String str = readKeyBoard(2,true);                        if (str.equals("")) {                                return defaultValue;                        }                        try{                                n = Integer.parseInt(str);                                break;                        }catch (NumberFormatException e) {                                System.out.print("数字输入错误,请重新输入:");                        }                }                return n;        }        /**         * 从键盘读取一个长度不超过limit的字符串,并将其作为方法的返回值。         */        public static String readString(int limit){                return readKeyBoard(limit,false);        }        /**         * 从键盘读取一个长度不超过limit的字符串,并将其作为方法的返回值。         * 如果用户不输入字符而直接回车,方法将以defaultVaue作为返回值。         */        public static String readString(int limit,String defaultValue){                //修改姓名、电话、邮箱时,不输入信息直接回车                String str = readKeyBoard(limit,true);                return str.equals("") ? defaultValue : str;        }        /**         * 用于确认选择的输入。该方法从键盘读取'Y'或'N',并将其作为方法的返回值。         */        public static char readConfirmSelection(){                //获取确认的输入                char c;                for( ; ; ){                        String str = readKeyBoard(1,false).toUpperCase();                        c = str.charAt(0);                        if (c=='Y' || c=='N') {                                break;                        } else {                                System.out.print("选择错误,请重新输入: ");                        }                }                return c;        }                private static String readKeyBoard(int limit,boolean blankReturn){                String line = "";                while (scanner.hasNextLine()) {                        line = scanner.nextLine();                        if (line.length() == 0) {                                if (blankReturn) return line;                                else continue;                        }                                                if (line.length() < 1 || line.length() > limit){                                System.out.println("输入长度(不大于" + limit + ")错误,请重新输入"");                                continue;                        }                        break;                }                return line;                        }}

以上是"Java如何实现客户信息管理系统"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

0