利用java实现一个客户信息管理系统

用博客记录我自学的点点滴滴

类图:

Customer类:

public class Customer {
    /**
     * @name 客户姓名
     * @sex 性别
     * @age 年龄
     * @phone 电话号码
     * @email 邮箱
     */
    private String name;
    private String sex;
    private int age;
    private String phone;
    private String email;
    public Customer(){};
    public Customer(String name,String sex,int age,String phone,String email){
        this.name=name;
        this.sex=sex;
        this.age=age;
        this.phone=phone;
        this.email=email;
    }
    public String getName(){
        return this.name;
    }
    public void setName(String name){
        this.name=name;
    }
    public String getSex(){
        return this.sex;
    }
    public void setSex(String sex){
        this.sex=sex;
    }
    public String getPhone(){
        return phone;
    }
    public void setPhone(String phone){
        this.phone=phone;
    }
    public int getAge(){
        return this.age;
    }
    public void setAge(int age){
        this.age=age;
    }
    public String getEmail(){
        return this.email;
    }
    public void setEmail(String email){
        this.email=email;
    }
}

CustomerList 类:

public class CustomerList {
        private Customer [] customers;
        private static int total = 0;
    /**
     * 构造器初始化对象数组
     * @param totalCustmoers 客户的总数
     */
    public CustomerList(int totalCustmoers){
        customers = new Customer[totalCustmoers];
    }

    /**
     * 增加客户
     * @param customer 客户
     * @return 返回是否添加成功
     */
        public boolean addCustomer(Customer customer){
            if(customer!=null&&total<customers.length)
            {customers[total]=customer;
                total++;
              return true;}
            else
            { return false;}
        }

    /**
     *替换
     * @param index 指定的客户的编号
     * @param cust 修改的客户
     * @return 返回是否修改成功
     */
        public boolean replaceCustomer(int index,Customer cust){
            if(index>=0 && index <total )
            {
                customers[index]=cust;return true;
            }
            else
            {
                return false;
            }
        }

    /**
     *删除客户
     * @param index 指定的客户的编号
     * @return 返回是否删除成功
     */
    public boolean deleteCustomer(int index){
        if(index<customers.length)
        {
            for(int i=index;i<total-1;i++)
            {
                customers[i]=customers[i+1];/**把数据往前挪动*/
            }
                customers[total-1]=null;
                total--;/**存储的数据的总数-1*/
             return true;
        }
        else
        {
            return false;
        }
    }

    /**
     * 展现客户的信息
     * @param index
     * @return 返回客户
     */
    public Customer getCustomer(int index){
        if(index>=0 && index<total)
        {return customers[index];}
        else {
            return null;
        }
    }

    /**
     * 获取所有的客户
     * @return 客户
     */
    public Customer[] getAllCustomers(){
            Customer [] cust = new Customer[total];/**新建一个数组来接收原数组的数据*/
            for(int i=0;i<total;i++){
                cust[i]=customers[i];
            }
            return cust;
    }

    /**
     * 得到客户的总数
     * @return
     */
    public int getTotal(){
        return total;
    }
}

CustomerVIew类:

public class CustomerView {
    private CustomerList customerList = new CustomerList(10);

    /**
     * 显示主菜单
     */
    public void enterMainMenu(){

        while(true)
        {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("-----------------------------------------------------");
            Scanner input = new Scanner(System.in);
            int op = input.nextInt();
            switch(op)
            {
                case 1 :this.addNewCustomer();break;
                case 2 :this.modifyCustomer();break;
                case 3 :this.deleteCustomer();break;
                case 4 :this.listAllCustomers();break;
                case 5 :System.exit(0);break;
                default:
                    System.out.println("重新选择功能");break;
            }
        }
    }

    /**
     * 增加客户
     */
    private void addNewCustomer(){
        /**
         * 从键盘处接收客户数据
         */
        System.out.println("-------------------添加客户-------------------");
        Scanner input = new Scanner(System.in);
        System.out.println("姓名:");
        String name = input.next();
        System.out.println("性别:");
        String sex=input.next();
        System.out.println("年龄:");
        int age = input.nextInt();
        System.out.println("电话号码:");
        String phone = input.next();
        System.out.println("电子邮箱:");
        String email = input.next();
        /**
         * 对客户数据进行封装
         */
        Customer person = new Customer(name,sex,age,phone,email);
        Boolean flag=customerList.addCustomer(person);
        if(flag)
        {
            System.out.println("-------------------添加成功-------------------");
        }
        else
        {
            System.out.println("-------------------添加失败-------------------");
        }
    }

    /**
     * 修改客户信息
     */
    private void modifyCustomer(){
        System.out.println("-------------------修改客户-------------------");
        System.out.println("要修改的客户id:");
        Scanner input = new Scanner(System.in);
        int number = input.nextInt();
            Customer customer = customerList.getCustomer(number);
        System.out.println("姓名:"+customer.getName());
        String name = CMUtility.readString(5,customer.getName());
        System.out.println("性别:"+customer.getSex());
        String sex = CMUtility.readString(5,customer.getSex());
        System.out.print("年龄(" + customer.getAge() + "):");
        int age = CMUtility.readInt(customer.getAge());
        System.out.print("电话(" + customer.getPhone() + "):");
        String phone = CMUtility.readString(13, customer.getPhone());
        System.out.print("邮箱(" + customer.getEmail() + "):");
        String email = CMUtility.readString(15, customer.getEmail());
        /**得到新的客户数据*/
        customer = new Customer(name,sex,age,phone,email);
        Boolean flag = customerList.replaceCustomer(number,customer);
        if(flag)
        {
            System.out.println("-------------------修改成功-------------------");
        }
        else
        {
            System.out.println("-------------------修改失败-------------------");
        }
    }

    /**
     * 删除客户
     */
    private void deleteCustomer(){
        System.out.println("-------------------删除客户-------------------");
        System.out.println("要删除的客户id:");
        Scanner input = new Scanner(System.in);
        int number = input.nextInt();
        while(true){
            System.out.println("退出(-1)");
        if(number>=0 && number<customerList.getTotal())
        {
            System.out.println("找到指定客户");
        }
        else if(number==-1)
        {
            return;
        }
        else
        {
            System.out.println("输入错误");break;
        }}
        System.out.println("是否确认删除该客户?Y/N");
        String ch = input.next();
        char o = ch.charAt(0);
        if(o=='Y')
        {
           boolean flag = customerList.deleteCustomer(number);
           if(flag){
               System.out.println("-------------------删除成功-------------------");
           }
           else
           {
               System.out.println("-------------------删除失败-------------------");
           }
        }
        else{
            return;
    }
}
/**
 * 获取客户列表
 */
private void listAllCustomers(){
    Customer [] customer=customerList.getAllCustomers();
    if(customer.length==0)
    {
        System.out.println("没有任何客户数据");
    }
    else{
    for(int i=0;i< customer.length;i++)
    {
        System.out.println("姓名:"+customer[i].getName()+"\t"+"性别"+customer[i].getSex()+"\t"+"年龄:"+customer[i].getAge()+"\t"+"电话号码:"+customer[i].getPhone()+"\t"+"电子邮箱:"+customer[i].getEmail()+"\t");
    }
}}

    public static void main(String[] args) {
        CustomerView co = new CustomerView();
        co.enterMainMenu();
    }
}

工具类:

public class CMUtility {
        private static Scanner scanner = new Scanner(System.in);
           public static String readString(int limit) {
            return readKeyBoard(limit, false);
        }
           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;
        }

总结

到此这篇关于利用java实现一个客户信息管理系统的文章就介绍到这了,更多相关java客户信息管理系统内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • java学生信息管理系统设计与实现

    闲暇之余用JAVA写了个学生信息的管理系统,由于博主还是萌新,代码难免有冗余和错误的地方,如果您发现有什么不足之处或者错误,请留言.博主会尽量回复. 需求分析 一个学生信息管理系统应该包含这些内容: 教师页面 在教师页面应该包含: 学生页面 在教学生页面应该包含: 包含的类 根据分析,我们的学生信息系统应该包含三个类: 代码 学生类 Student.java package com.gcl; import com.sun.org.glassfish.external.statistics.Ave

  • java实现客户信息管理系统

    本文实例为大家分享了java实现客户信息管理系统的具体代码,供大家参考,具体内容如下 一.CMUtility工具类 讲不同的功能封装为方法,就是可以直接通过调用方法使用它的功能,而无需考虑具体的功能实现细节. 代码如下: package com.p2.util; import java.util.*; /** * 工具类 * 讲不同的功能封装为方法,就是可以直接通过调用方法使用它的功能,而无需考虑具体的功 * 能实现细节. * **/ public class CMUtility { priva

  • java面向对象之学生信息管理系统

    通过学习的一系列知识点综合的小案例,通过控制台来完成一系列的增删查改的操作. 准备工作 开发工具IDEA2019.1.4,jdk13 思路 一共三个类,一个接口 Student类:封装数据 StudentManager类:用于管理增删查改等方法体 StudentView类:用于主界面的视图 StudentInterface接口:用于编写抽象方法体,用于继承 存放学生数据用我们学过的ArrayList,由于类是一种引用数据类型,所以我们可以将泛型指代成Student 编写逻辑 业务层调用逻辑层,逻

  • Java实战之客户信息管理系统

    一.软件设计结构 对于初学者来说,弄清框架显得尤为重要 首先该软件有以下三种模块组成 二.MVC设计模式 模型层:Customer处理数据 控制层:CustomerList处理业务逻辑 视图层:CustomerView显示数据 以下三点建议结合代码理解 1.Customer为实体对象,用于封装客户信息 2.CustomerList为Customer对象的管理模块,内部用数组管理一组Customer对象,并提供相应的添加.修改.删除和遍历的方法,供CustomerView调用 3.Customer

  • java(swing)+ mysql实现学生信息管理系统源码

    本文实例为大家分享了java实现学生信息管理系统源码,供大家参考,具体内容如下 import java.awt.BorderLayout; import java.awt.Color; import java.awt.Font; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.sql.Connection; import

  • java+SQL server2008学生信息管理系统源码

    本文实例为大家分享了java学生信息管理系统源码的具体代码,供大家参考,具体内容如下 1.StudetManage类(主界面) package com.sms3; import java.awt.*; import javax.swing.*; import java.awt.event.*; public class StudentManage extends JFrame implements ActionListener { /** * @param args */ public stat

  • java实现科研信息管理系统

    一.前言 本学期学习了JAVA语言,在学期的结束,写一个有操作界面,与数据库关联的管理系统,用来巩固自己本学习所学的知识. 用到的知识:JAVA基础,JAVA界面设计(GUI),Oracle数据库(需要掌握数据库的基本操作语句),链接数据库. 使用的开发工具:MyEclipse Professional 2014 二.设计 我们管理的属性有:项目编号,项目名称,参与人员,负责人,项目开始时间,结束时间.科研项目系统主要有四个功能,对科研项目的增加.删除.修改.查询.以及为增加系统安全性所设计的登

  • java实现商品信息管理系统

    超市商品管理系统,供大家参考,具体内容如下 题目要求 超市中商品分为四类,分别是食品.化妆品.日用品和饮料.每种商品都包含商品名称.价格.库存量和生产厂家.品牌等信息.主要完成对商品的销售.统计和简单管理.这个题目相对简单,可以用一张表实现信息的保存和处理,因此不再给出数据库设计参考. 功能要求 (1)销售功能. 购买商品时,先输入类别,然后输入商品名称,并在库存中查找该商品的相关信息.如果有库存量,输入购买的数量,进行相应计算.如果库存量不够,给出提示信息,结束购买. (2)商品简单管理功能.

  • java学生信息管理系统MVC架构详解

    本文实例为大家分享了java学生信息管理系统MVC架构,供大家参考,具体内容如下 一.项目结构 学生信息管理系统分三层进行实现.student.java主要提供数据,cotroller.java的功能是绑定试图和计算数据.Stuview.java用于单一的用来显示数据. 二.源码 1.1.Student 类 /* * @FileName: Student.class * @version:1.0 * @author:nazi * 描述:模型层 * */ import java.io.Serial

  • Java+MySQL实现学生信息管理系统源码

    基于Java swing+MySQL实现学生信息管理系统:主要实现JDBC对学生信息进行增删改查,应付一般课设足矣,分享给大家.(由于篇幅原因,代码未全部列出,如有需要留下邮箱) 鉴于太多同学要源码,实在发不过来,上传到github上 https://github.com/ZhuangM/student.git 1. 开发环境:jdk7+MySQL5+win7 代码结构:model-dao-view 2. 数据库设计--建库建表语句: CREATE DATABASE student; DROP

  • java学生信息管理系统源代码

    本文实例为大家分享了java学生信息管理系统的具体代码,实现学生信息: 增加 int[] a=new int[9] .删除 .查找.更改,供大家参考,具体内容如下 /*学生信息管理系统,实现学生信息: *增加 int[] a=new int[9] *删除 *查找 *更改 */ import java.util.Scanner;//导入java输入流 import java.lang.*; import java.io.*; class Student { private static Stude

  • java实现航班信息查询管理系统

    本文实例为大家分享了java航班信息查询管理系统的具体代码,供大家参考,具体内容如下 Air Infomation System 基于控制台的航班信息系统,简称AIS 具体要求如下: (1)显示航班信息系统主菜单,如图所示,包括: 1).列出所有航班 2).按起飞时间查询 3).按目的地查询 4).删除航班 5).更新航班 6).退出系统 AirInfo.java public class AirInfo { /*航班编号(id)  航班号(flight_number)  目的地(dest

  • java实现学生成绩信息管理系统

    JAVA大作业:学生成绩管理系统(含有用户界面),供大家参考,具体内容如下 ps :多个包写在一起 package test; import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.util.ArrayList; class person{ public String name; public String age; } class Student extends person{ public

随机推荐