java简单的客户信息管理系统项目源码

程序介绍

以下是一个简单的客户信息管理系统的Java代码示例,包含登录、增删改查功能,并使用控制台进行输入和输出。

我们使用了嵌套类 Customer 来表示每个客户的信息,包括客户编号、姓名和电话。可以通过创建 Customer 的实例来存储新客户的信息,并通过 customers 列表来存储所有客户的信息。

其中,登录功能使用了用户名和密码的简单验证,可以根据实际需要替换为更安全的身份验证方法。在添加、删除、修改和查询客户信息时,增加了对用户登录状态的判断,只有登录用户才能进行操作。

这个示例程序只是一个简单的实现,实际应用中可能需要更完善的错误处理、数据存储和用户界面等功能。

源代码

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class CustomerManagementSystem {
    // 存储所有客户信息
    private List<Customer> customers = new ArrayList<>();
    // 当前登录用户
    private Customer currentUser;

    public static void main(String[] args) {
        CustomerManagementSystem system = new CustomerManagementSystem();
        system.start();
    }
    
    public void start() {
        Scanner scanner = new Scanner(System.in);
        while (true) {
            System.out.println("欢迎使用客户信息管理系统!");
            if (currentUser == null) {
                System.out.println("请先登录:");
                System.out.println("请输入用户名:");
                String username = scanner.nextLine().trim();
                System.out.println("请输入密码:");
                String password = scanner.nextLine().trim();
                login(username, password);
            } else {
                System.out.println("当前登录用户:" + currentUser.getUsername());
                System.out.println("请选择您要进行的操作:");
                System.out.println("1. 添加客户");
                System.out.println("2. 删除客户");
                System.out.println("3. 修改客户信息");
                System.out.println("4. 查询客户信息");
                System.out.println("0. 退出系统");
                int choice = scanner.nextInt();
                switch (choice) {
                    case 1:
                        addCustomer(scanner);
                        break;
                    case 2:
                        removeCustomer(scanner);
                        break;
                    case 3:
                        updateCustomer(scanner);
                        break;
                    case 4:
                        queryCustomer(scanner);
                        break;
                    case 0:
                        logout();
                        return;
                    default:
                        System.out.println("输入有误,请重新选择!");
                        break;
                }
            }
        }
    }

    /**
     * 登录
     */
    private void login(String username, String password) {
        // TODO: 校验用户名和密码,如果验证通过则设置当前登录用户
        currentUser = new Customer(username, password);
        System.out.println("登录成功!");
    }

    /**
     * 退出登录
     */
    private void logout() {
        currentUser = null;
        System.out.println("已退出登录!");
    }

    /**
     * 添加客户
     */
    private void addCustomer(Scanner scanner) {
        // 只有登录用户才能添加客户
        if (currentUser == null) {
            System.out.println("请先登录!");
            return;
        }
        
        System.out.println("请输入客户姓名:");
        String name = scanner.next();
        System.out.println("请输入客户电话:");
        String phone = scanner.next();
        // 根据需要可以增加其他字段,比如地址、邮箱等
        
        // 生成新的客户编号
        int id = customers.size() + 1;
        Customer customer = new Customer(id, name, phone);
        customers.add(customer);
        System.out.println("添加客户成功!");
    }

    /**
     * 删除客户
     */
    private void removeCustomer(Scanner scanner) {
        // 只有登录用户才能删除客户
        if (currentUser == null) {
            System.out.println("请先登录!");
            return;
        }
        
        System.out.println("请输入要删除的客户编号:");
        int id = scanner.nextInt();
        boolean isRemoved = false;
        for (int i = 0; i < customers.size(); i++) {
            if (customers.get(i).getId() == id) {
                customers.remove(i);
                isRemoved = true;
                break;
            }
        }
        if (isRemoved) {
            System.out.println("删除客户成功!");
        } else {
            System.out.println("未找到要删除的客户,请检查输入的客户编号是否正确!");
        }
    }

    /**
     * 修改客户信息
     */
    private void updateCustomer(Scanner scanner) {
        // 只有登录用户才能修改客户信息
        if (currentUser == null) {
            System.out.println("请先登录!");
            return;
        }
        
        System.out.println("请输入要修改的客户编号:");
        int id = scanner.nextInt();
        boolean isUpdated = false;
        for (Customer customer : customers) {
            if (customer.getId() == id) {
                System.out.println("请重新输入客户姓名(回车跳过不修改):");
                String name = scanner.nextLine().trim();
                if (!name.isEmpty()) {
                    customer.setName(name);
                }
                System.out.println("请重新输入客户电话(回车跳过不修改):");
                String phone = scanner.nextLine().trim();
                if (!phone.isEmpty()) {
                    customer.setPhone(phone);
                }
                // 根据需要可以增加其他字段的修改
                
                isUpdated = true;
                break;
            }
        }
        if (isUpdated) {
            System.out.println("修改客户信息成功!");
        } else {
            System.out.println("未找到要修改的客户,请检查输入的客户编号是否正确!");
        }
    }

    /**
     * 查询客户信息
     */
    private void queryCustomer(Scanner scanner) {
        System.out.println("请输入要查询的客户姓名或电话关键字:");
        String keyword = scanner.next();
        List<Customer> result = new ArrayList<>();
        for (Customer customer : customers) {
            if (customer.getName().contains(keyword) || customer.getPhone().contains(keyword)) {
                result.add(customer);
            }
        }
        if (result.size() > 0) {
            System.out.println("查询结果如下:");
            for (Customer customer : result) {
                System.out.println(customer);
            }
        } else {
            System.out.println("未找到与关键字匹配的客户!");
        }
    }

    /**
     * 客户类
     */
    private static class Customer {
        private final int id;
        private String name;
        private String phone;

        public Customer(int id, String name, String phone) {
            this.id = id;
            this.name = name;
            this.phone = phone;
        }

        public int getId() {
            return id;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public String getPhone() {
            return phone;
        }

        public void setPhone(String phone) {
            this.phone = phone;
        }

        @Override
        public String toString() {
            return "Customer{" +
                    "id=" + id +
                    ", name='" + name + '\'' +
                    ", phone='" + phone + '\'' +
                    '}';
        }
    }
}

 

 

© 版权声明
THE END
喜欢就支持一下吧
点赞10赞赏 分享