详解Java如何使用集合来实现一个客户信息管理系统

详解Java如何使用集合来实现一个客户信息管理系统

1. 概述

在Java中,可以使用集合类来实现一个简单的客户信息管理系统。集合类提供了丰富的数据结构和操作方法,能够满足各种需求。

我们可以使用List或Set来存储客户信息,在程序中实现增删改查等操作。同时,我们可以利用Map来存储客户信息,实现键值对的存储,方便以后的查找和遍历。

2. 使用List实现一个客户信息管理系统

我们可以使用List来存储客户信息,同时利用Scanner类实现控制台输入,简单实现增删改查等操作。

在下面的示例代码中,我们定义一个Customer类,其中包含姓名和电话两个字段。接着,我们使用ArrayList来存储Customer对象,实现客户信息的管理。

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

public class CustomerManagementSystem {
    private List<Customer> customers = new ArrayList<>();

    public static void main(String[] args) {
        CustomerManagementSystem system = new CustomerManagementSystem();
        system.run();
    }

    private void run() {
        Scanner scanner = new Scanner(System.in);
        while (true) {
            displayMenu();

            int choice = scanner.nextInt();
            switch (choice) {
                case 1:
                    addCustomer(scanner);
                    break;
                case 2:
                    deleteCustomer(scanner);
                    break;
                case 3:
                    updateCustomer(scanner);
                    break;
                case 4:
                    queryCustomer(scanner);
                    break;
                case 5:
                    showCustomers();
                    break;
                case 6:
                    System.out.println("Goodbye!");
                    scanner.close();
                    System.exit(0);
                    break;
                default:
                    System.out.println("Invalid choice, please try again.");
                    break;
            }
        }
    }

    private void displayMenu() {
        System.out.println("-------- Customer Management System --------");
        System.out.println("1. Add customer");
        System.out.println("2. Delete customer");
        System.out.println("3. Update customer");
        System.out.println("4. Query customer");
        System.out.println("5. Show all customers");
        System.out.println("6. Exit");
        System.out.print("Please enter your choice: ");
    }

    private void addCustomer(Scanner scanner) {
        System.out.print("Please enter customer name: ");
        String name = scanner.next();

        System.out.print("Please enter customer phone: ");
        String phone = scanner.next();

        Customer customer = new Customer(name, phone);
        customers.add(customer);

        System.out.println("Add customer success!");
    }

    private void deleteCustomer(Scanner scanner) {
        System.out.print("Please enter customer name: ");
        String name = scanner.next();

        for (Iterator<Customer> iterator = customers.iterator(); iterator.hasNext();) {
            Customer customer = iterator.next();
            if (customer.getName().equals(name)) {
                iterator.remove();
                System.out.println("Delete customer success!");
                return;
            }
        }

        System.out.println("Customer not found!");
    }

    private void updateCustomer(Scanner scanner) {
        System.out.print("Please enter customer name: ");
        String name = scanner.next();

        for (Customer customer : customers) {
            if (customer.getName().equals(name)) {
                System.out.print("Please enter new customer phone: ");
                String phone = scanner.next();

                customer.setPhone(phone);
                System.out.println("Update customer success!");
                return;
            }
        }

        System.out.println("Customer not found!");
    }

    private void queryCustomer(Scanner scanner) {
        System.out.print("Please enter customer name: ");
        String name = scanner.next();

        for (Customer customer : customers) {
            if (customer.getName().equals(name)) {
                System.out.println(customer.toString());
                return;
            }
        }

        System.out.println("Customer not found!");
    }

    private void showCustomers() {
        for (Customer customer : customers) {
            System.out.println(customer.toString());
        }
    }
}

class Customer {
    private String name;
    private String phone;

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

    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 String.format("Name: %s, Phone: %s", name, phone);
    }
}

在上述代码中,我们利用Scanner类获取控制台输入,并使用ArrayList来存储Customer对象。通过迭代器进行遍历,并实现增删改查等操作。

3. 使用Map实现一个客户信息管理系统

我们也可以使用Map来存储客户信息,同时实现键值对的存储,方便以后的查找和遍历。在下面的示例代码中,我们依旧定义一个Customer类,其中包含姓名和电话两个字段。接着,我们使用HashMap来存储Customer对象,并利用键值对存储客户信息。

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

public class CustomerManagementSystem {
    private Map<String, Customer> customers = new HashMap<>();

    public static void main(String[] args) {
        CustomerManagementSystem system = new CustomerManagementSystem();
        system.run();
    }

    private void run() {
        Scanner scanner = new Scanner(System.in);
        while (true) {
            displayMenu();

            int choice = scanner.nextInt();
            switch (choice) {
                case 1:
                    addCustomer(scanner);
                    break;
                case 2:
                    deleteCustomer(scanner);
                    break;
                case 3:
                    updateCustomer(scanner);
                    break;
                case 4:
                    queryCustomer(scanner);
                    break;
                case 5:
                    showCustomers();
                    break;
                case 6:
                    System.out.println("Goodbye!");
                    scanner.close();
                    System.exit(0);
                    break;
                default:
                    System.out.println("Invalid choice, please try again.");
                    break;
            }
        }
    }

    private void displayMenu() {
        System.out.println("-------- Customer Management System --------");
        System.out.println("1. Add customer");
        System.out.println("2. Delete customer");
        System.out.println("3. Update customer");
        System.out.println("4. Query customer");
        System.out.println("5. Show all customers");
        System.out.println("6. Exit");
        System.out.print("Please enter your choice: ");
    }

    private void addCustomer(Scanner scanner) {
        System.out.print("Please enter customer name: ");
        String name = scanner.next();

        System.out.print("Please enter customer phone: ");
        String phone = scanner.next();

        Customer customer = new Customer(name, phone);
        customers.put(name, customer);

        System.out.println("Add customer success!");
    }

    private void deleteCustomer(Scanner scanner) {
        System.out.print("Please enter customer name: ");
        String name = scanner.next();

        if (customers.containsKey(name)) {
            customers.remove(name);
            System.out.println("Delete customer success!");
        } else {
            System.out.println("Customer not found!");
        }
    }

    private void updateCustomer(Scanner scanner) {
        System.out.print("Please enter customer name: ");
        String name = scanner.next();

        if (customers.containsKey(name)) {
            System.out.print("Please enter new customer phone: ");
            String phone = scanner.next();

            Customer customer = new Customer(name, phone);
            customers.put(name, customer);

            System.out.println("Update customer success!");
        } else {
            System.out.println("Customer not found!");
        }
    }

    private void queryCustomer(Scanner scanner) {
        System.out.print("Please enter customer name: ");
        String name = scanner.next();

        if (customers.containsKey(name)) {
            Customer customer = customers.get(name);
            System.out.println(customer.toString());
        } else {
            System.out.println("Customer not found!");
        }
    }

    private void showCustomers() {
        for (String name : customers.keySet()) {
            System.out.println(customers.get(name).toString());
        }
    }
}

class Customer {
    private String name;
    private String phone;

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

    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 String.format("Name: %s, Phone: %s", name, phone);
    }
}

在上述代码中,我们使用HashMap来存储Customer对象,通过键值对实现客户信息的存储和查找。同样的,我们通过Scanner类获取控制台输入,并实现增删改查等操作。

阅读剩余 85%

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解Java如何使用集合来实现一个客户信息管理系统 - Python技术站

(0)
上一篇 2023年5月30日
下一篇 2023年5月30日

相关文章

  • java中实现四则运算代码

    Java中实现四则运算代码的攻略如下: 1. 分析需求 首先,我们需要明确需求。四则运算包含加、减、乘、除。我们需要写出代码来实现这些操作,并可以对输入的两个数进行计算返回结果。需要考虑一些特殊的情况,例如除数为0的情况,需要进行错误提示。 2. 确定方法与注释 在实现代码之前,我们需要确定这个方法的输入和输出,以及需要哪些变量和算法。 /** * 四则运算…

    Java 2023年5月18日
    00
  • Sprint Boot @EnableScheduling使用方法详解

    Spring Boot的@EnableScheduling注解 在Spring Boot中,@EnableScheduling注解用于启用定时任务的支持。使用@EnableScheduling注解可以将带有@Scheduled注解的方法标记为定时任务,并在应用程序启动时自动注册这些任务。本文将详细介绍@EnableScheduling注解的作用和使用方法,并…

    Java 2023年5月5日
    00
  • mybatis项目CRUD步骤实例详解

    首先,使用MyBatis进行CRUD操作需要进行以下步骤: 定义数据库表结构,并在MyBatis中创建对应的实体类。 配置MyBatis的XML映射文件,将实体类映射到数据库中的表结构。 创建MyBatis的SqlSessionFactory对象。 使用SqlSessionFactory对象创建SqlSession对象。 使用SqlSession对象进行CR…

    Java 2023年5月20日
    00
  • spring controller层引用service报空指针异常nullpointExceptio问题

    当在Spring的controller层引用service时出现空指针异常,一般是由于Spring没有正确地注入service导致的。下面是解决该问题的攻略。 1.检查配置文件 在web.xml中检查DispatcherServlet是否正确配置,并且检查applicationContext.xml或其他相关配置文件中是否正确配置了bean,bean是否注入…

    Java 2023年5月25日
    00
  • 浅谈java 数据处理(int[][]存储与读取)

    浅谈Java数据处理(int[][]存储与读取) 在Java中,数组是我们常用的数据结构之一。在某些场景下,我们需要处理的数据可能是一个二维数组,本篇文章将会讲解如何处理这种数据结构,包括如何存储和读取。 存储二维数组 Java中的二维数组可以使用 int[][] 来定义,其可以表示一个矩阵。我们可以通过以下代码来定义一个二维数组: int[][] matr…

    Java 2023年5月26日
    00
  • Java Web 简单的分页显示实例代码

    下面是详细讲解“Java Web 简单的分页显示实例代码”的完整攻略,包括两条示例说明: 1. 分页显示实现原理 在实现分页显示之前,我们需要先了解分页的原理。当我们在页面中点击“下一页”或者“上一页”等翻页按钮时,客户端会向服务器发送请求,请求需要显示的数据的页数及每页显示的数据数量。服务器收到请求后,根据请求参数查询指定页数的数据,返回给客户端,客户端再…

    Java 2023年6月15日
    00
  • MVC使用Spring.Net应用IOC(依赖倒置)学习笔记3

    下面是关于“MVC使用Spring.Net应用IOC(依赖倒置)学习笔记3”的完整攻略,包含两个示例说明。 MVC使用Spring.Net应用IOC(依赖倒置)学习笔记3 在MVC应用程序中,依赖倒置是一个非常重要的概念。依赖倒置是指,高层模块不应该依赖于低层模块,而是应该依赖于抽象接口。这样可以使得高层模块和低层模块之间的耦合度降低,从而使得应用程序更加灵…

    Java 2023年5月17日
    00
  • Java生成范围内随机整数的三种方法

    下面是详细讲解“Java生成范围内随机整数的三种方法”的完整攻略。 一、Java生成随机整数的基础知识 在Java中生成范围内的随机整数需要使用到Java的工具类java.util.Random,而生成的方法是通过该类的nextInt方法实现的。 nextInt方法有两个重载版本: public int nextInt() public int nextIn…

    Java 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部