Java如何实现客户信息管理系统
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要介绍Java如何实现客户信息管理系统,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、软件设计结构对于初学者来说,弄清框架显得尤为重要首先该软件有以下三种模块组成二
千家信息网最后更新 2026年11月02日Java如何实现客户信息管理系统
这篇文章主要介绍Java如何实现客户信息管理系统,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
一、软件设计结构
对于初学者来说,弄清框架显得尤为重要
首先该软件有以下三种模块组成
二、MVC设计模式
模型层:Customer处理数据
控制层:CustomerList处理业务逻辑
视图层:CustomerView显示数据
以下三点建议结合代码理解
1.Customer为实体对象,用于封装客户信息
2.CustomerList为Customer对象的管理模块,内部用数组管理一组Customer对象,并提供相应的添加、修改、删除和遍历的方法,供CustomerView调用
3.CustomerView为主模块,负责菜单的显示和处理用户操作
四个类都在同一包下
三、Customer
package org.atjinzhao.customer;public class Customer { private String name;//姓名 private char gender;//性别 private int age;//年龄 private String phone;//电话 private String email;//邮箱 public Customer() { } public Customer(String name, char gender, int age, String phone, String email) { this.name = name; this.gender = gender; this.age = age; this.phone = phone; this.email = email; } public String getName() { return name; } public void setName(String name) { this.name = name; } public char getGender() { return gender; } public void setGender(char gender) { this.gender = gender; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } 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
package org.atjinzhao.customer;public class CustomerList { private Customer[] customers;//客户列表 private int total = 0;//记录已保存顾客数量 //构造器 public CustomerList(int totalCustomer) { customers = new Customer[totalCustomer]; } //方法 /** * 添加客户 * return:true添加成功,false:添加失败 */ public boolean addCustomer(Customer customer){ if (total < customers.length) { customers[total] = customer; total++; return true; }else return false; } /** * 修改指定索引位置上的客户信息 * @param index * @param cust * @return true:修改成功 false修改失败 */ public boolean replaceCustomer(int index,Customer cust){ if (index < 0 || index >= total) { return false; }else{ customers[index] = cust; return true; } } /** * 删除指定索引位置上的客户 * @param index * @return true删除成功 false删除失败 */ public boolean deleteCustomer(int index){ if (index >= 0 && index < total) { for (int i = index; i < total - 1; i++) { customers[i] = customers[i+1]; } customers[--total] = null; return true; } return false; } /** * 获取所有客户信息 * @return 数组 */ public Customer[] getAllCustomers(){ //null的部分不返回 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 customers[index]; }else return null; } /** * 获取存储客户的数量 */ public int getTotal() { return total; } /** * 获取最大能储存客户的数量 */ public int getCustomer(){ return customers.length; }}五、CustomerView
package org.atjinzhao.customer;public class CustomerView { private CustomerList customerList = new CustomerList(10); public CustomerView() { Customer cust = new Customer("李明",'男',19,"12349982563","lm@gmail.com"); customerList.addCustomer(cust); } public void enterMainMenu(){ //显示主页面 boolean isFlag = true; while(isFlag){ 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): "); char selection = CMUtility.readMenuSelection(); switch (selection) { case '1': addNewCustomer(); break; case '2': modifyCustomer(); break; case '3': deleteCustomer(); break; case '4': listAllCustomers(); break; case '5': System.out.print("是否确认退出(Y/N):"); char isExit = CMUtility.readConfirmSelection(); if (isExit == 'Y') { isFlag = false; } } } } /** * 添加客户 */ public void addNewCustomer(){ System.out.println("-----------------添加客户-----------------"); System.out.print("姓名:"); String name = CMUtility.readString(10); System.out.print("性别:"); char gender = CMUtility.readChar(); System.out.print("年龄:"); int age = CMUtility.readInt(); System.out.print("电话:"); String phone = CMUtility.readString(13); System.out.print("邮箱:"); String email = CMUtility.readString(30); Customer customer = new Customer(name,gender,age,phone,email); boolean isSuccess = customerList.addCustomer(customer); if(isSuccess){ System.out.println("-----------------添加成功-----------------"); }else{ System.out.println("---------------目录已满,添加失败---------------"); } } /** * 修改客户 */ public void modifyCustomer(){ System.out.println("-----------------修改客户-----------------"); Customer cust; int num; for (;;) { System.out.print("请输入要修改的客户序号(输入-1退出):"); num = CMUtility.readInt(); if (num == -1) { return; } cust = customerList.getCustomer(num - 1); if (cust == null) { System.out.println("无法找到指定客户!"); } else { break; } } System.out.println("姓名("+cust.getName()+"):"); String name = CMUtility.readString(10, cust.getName()); System.out.println("性别("+cust.getGender()+"):"); char gender = CMUtility.readChar( cust.getGender()); System.out.println("年龄("+cust.getAge()+"):"); int age = CMUtility.readInt(cust.getAge()); System.out.println("电话("+cust.getPhone()+"):"); String tel = CMUtility.readString(11, cust.getPhone()); System.out.println("邮箱("+cust.getEmail()+"):"); String email = CMUtility.readString(15, cust.getEmail()); Customer newCust = new Customer(name,gender,age,tel,email); boolean isReplaced = customerList.replaceCustomer(num - 1, newCust); if (isReplaced) { System.out.println("-----------------修 改 成 功----------------- "); } else { System.out.println("-----------------修 改 失 败----------------- "); } } /** * 删除客户 */ public void deleteCustomer(){ System.out.println("-----------------删除客户-----------------"); Customer cust; int index; for (;;) { System.out.print("请输入要删除的客户序号(输入-1退出):"); index = CMUtility.readInt(); if (index == -1) { return; } cust = customerList.getCustomer(index - 1); if (cust == null) { System.out.println("无法找到客户!"); } else { break; } } System.out.print("是否确认删除(Y/N):"); char isDelete = CMUtility.readConfirmSelection(); if (isDelete == 'Y') { boolean deleteSuccess = customerList.deleteCustomer(index - 1); if (deleteSuccess) { System.out.println("-----------------删除成功-----------------"); } else { System.out.println("-----------------删除失败-----------------"); } }else{ return; } } /** * 显示客户列表的操作 */ public void listAllCustomers(){ System.out.println("-------------------客 户 列 表------------------"); int total = customerList.getTotal(); if (total == 0) { System.out.println("没有客户记录!"); }else { System.out.println("编号 姓名 性别 年龄 电话 邮箱"); Customer[] custList = customerList.getAllCustomers(); for (int i = 0; i < total; i++) { System.out.println(i+1 + " " + custList[i].getName()+ " " + custList[i].getGender()+" " + custList[i].getAge()+ " " + custList[i].getPhone()+" " + custList[i].getEmail()+" "); } } System.out.println("-----------------客户列表完成-----------------"); } public static void main(String[] args) { CustomerView view = new CustomerView(); view.enterMainMenu(); } }六、CMUtility
package org.atjinzhao.customer;import java.util.*;public class CMUtility { public static void main(String[] args) { //System.out.println(readMenuSelection()); } private static Scanner scanner = new Scanner(System.in); /** * 用于界面菜单的选择。该方法读取键盘用户键入的'1'-'5'的任意字符,方法返回。 * */ public static char readMenuSelection() { // 获取功能选择 char c; for (;;) { String str = readKeyBoard(1, false); c = str.charAt(0); if (c != '1' && c != '2' && c != '3' && c != '4' && c != '5') { System.out.println("选择错误,请重新输入:"); } else break; } return c; } /** * 从键盘读取一个字符,并将其作为方法的返回值。 * 获取性别 */ public static char readChar(){ String str = readKeyBoard(1,false); return str.charAt(0); } /** *从键盘读取一个字符,并将其作为方法的返回值。 *如果用户不输入字符而回车,方法将以defaultValue 作为返回值。 * */ public static char readChar(char defaultValue){ String str = readKeyBoard(1,true); return (str.length()==0)? defaultValue : str.charAt(0); } /** * 从键盘读取一个长度不超过2位的整数,并将其作为方法的返回值。 * 获取年龄 */ public static int readInt(){ int n; for(;;){ String str = readKeyBoard(2,false); try{ n = Integer.parseInt(str); break; }catch (NumberFormatException e) { System.out.print("数字输入错误,请重新输入:"); } } return n; } /** *从键盘读取一个字符,并将其作为方法的返回值。 *如果用户不输入字符而回车,方法将以defaultValue 作为返回值。 */ 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; } /** * 从键盘读取一个长度不超过limit的字符串,并将其作为方法的返回值。 */ public static String readString(int limit){ return readKeyBoard(limit,false); } /** * 从键盘读取一个长度不超过limit的字符串,并将其作为方法的返回值。 * 如果用户不输入字符而直接回车,方法将以defaultVaue作为返回值。 */ public static String readString(int limit,String defaultValue){ //修改姓名、电话、邮箱时,不输入信息直接回车 String str = readKeyBoard(limit,true); return str.equals("") ? defaultValue : str; } /** * 用于确认选择的输入。该方法从键盘读取'Y'或'N',并将其作为方法的返回值。 */ public static char readConfirmSelection(){ //获取确认的输入 char c; for( ; ; ){ String str = readKeyBoard(1,false).toUpperCase(); c = str.charAt(0); if (c=='Y' || c=='N') { break; } else { System.out.print("选择错误,请重新输入: "); } } return c; } private static String readKeyBoard(int limit,boolean blankReturn){ String line = ""; while (scanner.hasNextLine()) { line = scanner.nextLine(); if (line.length() == 0) { if (blankReturn) return line; else continue; } if (line.length() < 1 || line.length() > limit){ System.out.println("输入长度(不大于" + limit + ")错误,请重新输入""); continue; } break; } return line; }}以上是"Java如何实现客户信息管理系统"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
客户
输入
方法
信息
字符
键盘
并将
年龄
选择
管理
成功
姓名
性别
用户
电话
邮箱
错误
长度
对象
数量
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技名片
华服互联网科技怎么样
互联网科技活动banner
网络科技有限互联网
中资互联网科技
致骋互联网科技
互联网科技排名
米客互联网科技
互联网科技的未来发展
互联网高科技企业
互联网科技大会
互联网 科技馆
辽宁互联网新科技
开一家科技互联网公司需要多少钱
健康食品互联网创新科技园项目
互联网科技和法律行业
上海科技产业互联网平台
互联网企业科技类企业如何做账
萌小萌互联网科技河南有限公司
玉溪新华互联网科技怎么选
中智农互联网科技
科技平台互联网
互联网科技大会
企晟互联网信息科技有限公司
互联网科技股为什么大涨
从那以后互联网科技有限公司
广州梦谷互联网科技有限公司领导
广西科技产业互联网是什么
现代互联网科技公司
宁波允成互联网科技有限公司