java实现简单的客户信息管理系统

 更新时间:2022年06月06日 11:22:15   作者:原创小白变怪兽  
这篇文章主要为大家详细介绍了java实现简单的客户信息管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了java实现简单客户信息管理系统的具体代码,供大家参考,具体内容如下

全篇文章开源,源码供读者使用。这是一篇关于java的客户信息管理系统的文章,里面简单实现了数据库管理系统的基本功能,可以算是算笔者的学习笔记,也为大家学习提供便利。所以代码都是在一个包下完成的,所以没有使用导包的操作,省去了外卖project的申明,剩下的就写的文章里了。话不多说,看文章吧。
首先给大家看一下总的操作界面(别看简单,里面的还是有东西的),后面就附上实现源码、要求和注释

Customer类

下面是关于Customer类的编写要求:

* 用来封装客户的以下信息
* Sting name
* int age
* char gender
* Stirng phone
* String email
* 提供getset方法
* 构造器自行设定

public class Customer {
    private String name;
    private int age;
    private String gender;
    private String phone;
    private String email;
    
    public Customer() {
        
    }
    
    public Customer(String name,int age,String gender,String phone,String email) {
        this.name = name;
        this.age = age;
        this.gender = gender;
        this.phone = phone;
        this.email = email;
    }
    
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public String getGender() {
        return gender;
    }
    public void setGender(String gender) {
        this.gender = gender;
    }
    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类

下面是关于CustomerList类的编写要求:

* CustomerList类的设计
* Customer[] 用来保存客户信息
* int total 用来保存当前存入客户数量
* 该类至少提供以下的构造器和方法
* public CustomerLIst(int totalCustomer);
* public boolean addCustomer(Customer customer);
* public boolean replaceCustomer(int index,Customer cust);
* public boolean deleteCustomer(int index);
* public Customer[] getallCustomer();
* public Customer getCustomer(int index);
* public int getToal();

public class CustomerList {
    private static Customer customers[];
    private static int total;
    
    public CustomerList(int totalCustomer) {
        customers = new Customer[totalCustomer];
    }
    
    // 添加客户
    public boolean addCustomer(Customer customer) {
        if(total >= customers.length) {
            return false;
        }
        customers[total++] = customer;
        return true;
    }
    
    // 修改指定位置的客户信息
    public boolean replaceCustomer(int index,Customer cust) {
        if(index < 0 || index >= total) {
            return false;
        }
        customers[index] = cust;
        return true;
    }
    
    // 删除指定位置的客户
    public boolean deleteCustomer(int index) {
        if(index < 0 || index >= total) {
            return false;
        }
        for(int i = index;i < total - 1;i++) {
            customers[i] = customers[i+1];
        }
        customers[total - 1] = null;
        total--;
        return true;
    }
    
    // 得到所有客户的信息
    public static Customer[] getallCustomer() {
        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 null;
        }
        return customers[index];
    }
    
    // 得到Customers中所有客户的个数
    public static int getTotal() {
        return total;
    }
    
}

CustomerView类

CustomerView类的编写

* 主模块:用于用户界面的展示、与用户交互
* CustomerList  customerList = new CustomerList(10) 
* 应含有的构造器和方法
* private void enterMainMenue()
* private void addNewCustomer()
* private void modifyCustomer()
* private void deleteCustomer()
* private void listAllCustomers()
* private static void main(String[] args)

public class CustomerView {

    CustomerList customerList = new CustomerList(10);

    public CustomerView() {
        Customer customer = new Customer("王龙", 20, "Male", "18965391649", "465989777@qq.com");
        customerList.addCustomer(customer);
    }

    // 用户主菜单
    private void enterMainMenue() {
        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:");
    }

    // 添加客户
    private void addNewCustomer() {
        // System.out.println("添加客户的操作");
        System.out.println("-----------------添加客户-------------------------");
        Scanner in = new Scanner(System.in);
        System.out.print("姓名:");
        String name = in.nextLine();
        System.out.print("年龄:");
        int age = in.nextInt();
        System.out.print("性别:");
        String gender = in.nextLine();
        System.out.print("电话:");
        String phone = in.nextLine();
        System.out.print("邮箱:");
        String email = in.nextLine();

        // 将上述数据封装到Customer中
        Customer customer = new Customer(name, age, gender, phone, email);
        boolean isSuccess = customerList.addCustomer(customer);
        if (isSuccess == true) {
            System.out.println("---------------添加完成---------------------");
        } else {
            System.out.println("---------------客户目录已满,添加失败!---------------------");
        }
    }

    // 修改客户
    private void modifyCustomer() {
        // System.out.println("修改客户的操作");
        Scanner in = new Scanner(System.in);
        Customer cust;
        int num;
        System.out.print("请选择待修改客户的编号(-1退出):");
        while (true) {
            num = in.nextInt();
            if (num == -1) {
                return;
            }
            cust = customerList.getCustomer(num - 1);
            if (cust == null) {
                System.out.print("无法找到指定客户,请选择待修改客户的编号(-1退出):");
            } else {
                break;
            }
        }

        // 开始修改客户信息
        System.out.print("姓名(" + cust.getName() + "):");
        String name = in.nextLine();
        System.out.print("性别(" + cust.getGender() + "):");
        String gender = in.nextLine();
        System.out.print("年龄(" + cust.getAge() + "):");
        int age = in.nextInt();
        System.out.print("电话(" + cust.getPhone() + "):");
        String phone = in.nextLine();
        System.out.print("邮箱(" + cust.getEmail() + "):");
        String email = in.nextLine();

        Customer cust2 = new Customer(name, age, gender, phone, email);
        boolean isreplace = customerList.replaceCustomer(num - 1, cust2);
        if (isreplace == true) {
            System.out.println("---------------修改完成---------------------");
        } else {
            System.out.println("---------------修改失败---------------------");
        }
    }

    // 删除用户
    private void deleteCustomer() {
        // System.out.println("删除客户的操作");
        Scanner in = new Scanner(System.in);
        int num;
        System.out.println("------------------刪除客戶-----------------------");
        while (true) {
            System.out.println("输入要删除的客户的序号(-1退出):");
            num = in.nextInt();
            if (num == -1) {
                return;
            }
            Customer customer = customerList.getCustomer(num - 1);
            if (customer == null) {
                System.out.println("------------------刪除失败!-----------------------");
                return;
            }

            // 执行删除操作
            System.out.print("是否确认删除(y/n):");
            char isdelete = in.nextLine().charAt(0);
            if (isdelete == 'y') {
                boolean is = customerList.deleteCustomer(num - 1);
                if(is) {
                    System.out.println("------------------刪除成功-----------------------");                    
                }else {
                    System.out.println("------------------刪除失败-----------------------");                    
                }
            }else {
                break;
            }
        }
    }

    // 列出所有客户信息
    private void listAllCustomers() {
        System.out.println("---------------客户列表--------------------");
        int total = CustomerList.getTotal();
        if (total == 0) {
            System.out.println("没有客户记录!");
        } else {
            System.out.println("编号\t姓名\t性别\t电话\t\t邮箱\t");
            Customer custs[] = CustomerList.getallCustomer();
            for (int i = 0; i < custs.length; i++) {
                Customer cust = custs[i];
                System.out.println((i + 1) + "\t" + cust.getName() + "\t" + cust.getGender() + "\t" + cust.getPhone()
                        + "\t" + cust.getEmail());
            }
        }

        System.out.println("---------------客户列表加载完成--------------------");
    }

    // 主函数
    public static void main(String[] args) {
        CustomerView view = new CustomerView();
        Scanner in = new Scanner(System.in);

        boolean isFlag = true;
        while (isFlag) {
            view.enterMainMenue();
            char menu = in.nextLine().charAt(0);
            switch (menu) {
            case '1':
                view.addNewCustomer();
                break;
            case '2':
                view.modifyCustomer();
                break;
            case '3':
                view.deleteCustomer();
                break;
            case '4':
                view.listAllCustomers();
                break;
            case '5':
                System.out.print("确认是否退出(y/n):");
                char flag = in.nextLine().charAt(0);
                if (flag == 'y') {
                    isFlag = false;
                }
                break;
            }
            // isFlag = false;
        }
        in.close();
    }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 简单总结SpringMVC拦截器的使用方法

    简单总结SpringMVC拦截器的使用方法

    今天给大家带来的是关于SpringMVC拦截器的相关知识,文章围绕着SpringMVC拦截器的使用方法展开,文中有非常详细的介绍及代码示例,需要的朋友可以参考下
    2021-06-06
  • eclipse构建和发布maven项目的教程

    eclipse构建和发布maven项目的教程

    这篇文章主要为大家详细介绍了eclipse构建和发布maven项目的教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • Java抽象类的构造模板模式用法示例

    Java抽象类的构造模板模式用法示例

    这篇文章主要介绍了Java抽象类的构造模板模式用法,结合实例形式分析了java使用抽象类构造模板模式相关操作技巧,需要的朋友可以参考下
    2019-09-09
  • Java通过 Socket 实现 TCP服务端

    Java通过 Socket 实现 TCP服务端

    这篇文章主要介绍了Java通过 Socket 实现 TCP服务端的相关资料,需要的朋友可以参考下
    2017-05-05
  • Spring 源码解析CommonAnnotationBeanPostProcessor

    Spring 源码解析CommonAnnotationBeanPostProcessor

    这篇文章主要为大家介绍了Spring 源码解析CommonAnnotationBeanPostProcessor示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • 分析Java并发编程之信号量Semaphore

    分析Java并发编程之信号量Semaphore

    Semaphore一般译作信号量,它也是一种线程同步工具,主要用于多个线程对共享资源进行并行操作的一种工具类。它代表了一种许可的概念,是否允许多线程对同一资源进行操作的许可,使用Semaphore可以控制并发访问资源的线程个数
    2021-06-06
  • Java编程之文件读写实例详解

    Java编程之文件读写实例详解

    这篇文章主要介绍了Java编程之文件读写的方法,结合实例形式较为详细的分析了Java文件读写所涉及的类及相应的操作技巧,需要的朋友可以参考下
    2015-12-12
  • springboot使用webservice发布和调用接口的实例详解

    springboot使用webservice发布和调用接口的实例详解

    本文介绍了如何在Springboot中使用webservice发布和调用接口,涵盖了必要的依赖添加和代码示例,文中提供了服务端和客户端的实现方法,以及如何设置端口和服务地址,帮助读者更好地理解和应用Springboot结合webservice的技术
    2024-10-10
  • 快速排序的深入详解以及java实现

    快速排序的深入详解以及java实现

    本篇文章是对java中的快速排序进行了详细的分析介绍,需要的朋友参考下
    2013-07-07
  • java.net.UnknownHostException异常的一般原因及解决步骤

    java.net.UnknownHostException异常的一般原因及解决步骤

    关于java.net.UnknownHostException大家也许都比较熟悉,这篇文章主要给大家介绍了关于java.net.UnknownHostException异常的一般原因及解决步骤,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-02-02

最新评论