求源🐴和注释,数据结构java

数据结构java版代码,数据不能链接数据库,要用数据结构写,客户消费积分管理系统,存储结构存储信息,可修改,删除,添加客户信息,进行积分计算,还要实行打折优惠

只提供以下功能的程序,行吗?
1、从控制台添加、修改、删除、查询客户信息
2、对客户的积分进行增加、扣减

java实现简单的客户信息管理系统
如有帮助,望采纳

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;
    }
    
}

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;
    }
    
}

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();
    }
}

咋没人

import java.util.HashMap;
import java.util.Map;

public class PointsManagementSystem {
    // 创建一个HashMap来存储客户的信息
    private Map<String, Customer> customers;

    public PointsManagementSystem() {
        this.customers = new HashMap<>();
    }

    // 添加客户信息
    public void addCustomer(String id, Customer customer) {
        customers.put(id, customer);
    }

    // 修改客户信息
    public void modifyCustomer(String id, Customer customer) {
        customers.put(id, customer);
    }

    // 删除客户信息
    public void deleteCustomer(String id) {
        customers.remove(id);
    }

    // 计算客户积分
    public int calculatePoints(String id, int amount) {
        // 获取客户信息
        Customer customer = customers.get(id);
        // 计算积分
        int points = customer.calculatePoints(amount);
        // 打折优惠
        int discount = customer.getDiscount(amount);
        // 计算实际支付金额
        int actualPayment = amount - discount;
        // 返回实际支付金额和积分
        return actualPayment + points;
    }
}

class Customer {
    // 客户等级
    private int level;
    // 积分计算系数
    private int coefficient;
    // 打折折扣系数
    private double discount;

    public Customer(int level, int coefficient, double discount) {
        this.level = level;
        this.coefficient = coefficient;
        this.discount = discount;
    }

    // 计算积分
    public int calculatePoints(int amount) {
        return amount * coefficient;
    }

    // 计算折扣
    public int getDiscount(int amount) {
        return (int) (amount * discount);
    }
}