Java如何实现客户信息管理系统
发表于:2024-11-15 作者:千家信息网编辑
千家信息网最后更新 2024年11月15日,这篇文章主要介绍Java如何实现客户信息管理系统,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、软件设计结构对于初学者来说,弄清框架显得尤为重要首先该软件有以下三种模块组成二
千家信息网最后更新 2024年11月15日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安全错误
数据库的锁怎样保障安全
南昌迅飞软件开发公司
zigbee网络技术论文
网络技术交流会的通知
服务器we插件
数据库管理系统是学什么的
网络安全法自日起施行
如何对服务器加固
崇明区多功能软件开发设计标准
无限乱斗服务器好卡
科学与技术哪个数据库收录
澜米网络技术有限公司怎么样
杨浦区网络技术服务案例
软件开发的方法研究
县城网络安全现状
澳门区电子邮件服务器是
儿童系统软件开发成本
河南邮政服务器维保
软件开发模型的描述
国家信息与网络安全观后感
论坛网站数据库名字
福州软件开发企业黄诗棋
蔡甸订制软件开发多少钱
js数据库怎么插入
docker查看外部数据库
大逃杀be服务器
C 手机软件开发工程师
第五人格在哪查看服务器
自建苹果服务器
网络安全团日活动学习心得体会
果壳里的宇宙软件开发公司