题目:实现客户姓名的管理 CustomerBiz类 需求描述: 编写带参方法和数组作为方法的参数,实现对客户姓名维护,要求实现如下功能 1、新增客户姓名 void addName(String name) 2、更新客户姓名 void updateName(String oldName,String newName) 3、客户姓名排序 void sortNames(String[] names) 4、删除客户姓名 void deleteName(String name) 5、按指定范围查找客户姓名 String[] searchName(int start,int end,String name)

时间: 2024-02-01 17:02:36 浏览: 30
以下是实现客户姓名管理的 CustomerBiz 类的代码: ```java public class CustomerBiz { private String[] names; private int count; public CustomerBiz(int capacity) { names = new String[capacity]; count = 0; } public void addName(String name) { if (count == names.length) { System.out.println("客户数量已达上限,无法新增客户!"); return; } names[count++] = name; System.out.println("成功新增客户:" + name); } public void updateName(String oldName, String newName) { for (int i = 0; i < count; i++) { if (names[i].equals(oldName)) { names[i] = newName; System.out.println("成功将客户姓名 " + oldName + " 更新为 " + newName); return; } } System.out.println("未找到客户姓名 " + oldName + ",更新失败!"); } public void sortNames(String[] names) { Arrays.sort(names); System.out.println("客户姓名排序完成!"); } public void deleteName(String name) { for (int i = 0; i < count; i++) { if (names[i].equals(name)) { for (int j = i + 1; j < count; j++) { names[j - 1] = names[j]; } names[count - 1] = null; count--; System.out.println("成功删除客户:" + name); return; } } System.out.println("未找到客户姓名 " + name + ",删除失败!"); } public String[] searchName(int start, int end, String name) { if (start < 0 || start >= count || end < 0 || end >= count || start > end) { System.out.println("范围不正确,查找失败!"); return null; } List<String> result = new ArrayList<>(); for (int i = start; i <= end; i++) { if (names[i].contains(name)) { result.add(names[i]); } } if (result.size() == 0) { System.out.println("未找到符合条件的客户姓名!"); return null; } String[] resultArray = new String[result.size()]; result.toArray(resultArray); return resultArray; } } ``` 在上面的代码中,我们首先定义了一个 `CustomerBiz` 类,其中包含一个字符串数组 `names`,用于存储客户姓名;以及一个整数变量 `count`,用于记录已经存储的客户数量。 在构造方法中,我们通过传入的参数来初始化 `names` 数组的容量。在 `addName` 方法中,我们首先判断当前客户数量是否已经达到上限,如果是,则提示无法新增客户;否则,将新的客户姓名存储到 `names` 数组中,并将客户数量加 1。 在 `updateName` 方法中,我们遍历 `names` 数组,查找要更新的客户姓名,如果找到了,则将其更新为新的姓名;否则,提示未找到客户姓名。在 `sortNames` 方法中,我们使用 `Arrays.sort` 方法对客户姓名进行排序,完成后输出提示信息。 在 `deleteName` 方法中,我们遍历 `names` 数组,查找要删除的客户姓名,如果找到了,则将其从数组中删除,并将客户数量减 1;否则,提示未找到客户姓名。在 `searchName` 方法中,我们首先判断传入的参数是否合法,如果不合法,则提示范围不正确;否则,使用一个 `List` 来存储符合条件的客户姓名,并最终将其转换为字符串数组返回。如果没有找到符合条件的客户姓名,则返回 `null`。

相关推荐

最新推荐

recommend-type

Html5页面中的返回实现的方法

看到这个题目你可能觉得这是什么鬼? 其实我想说的是这种,看下面的录制: 这种交互在H5页面中比比皆是,点击城市-&gt;弹出城市选择浮层-&gt;按返回按钮关闭浮层。 这些操作都是不要点击左上角/右上角的关闭按钮就可以进行...
recommend-type

美和易思 阶段测试 题目:外包人力资源管理系统(模糊查询、删除、新增).docx

使用环境:MyEclipse/Eclipse + Tomcat + MySQL。 使用技术:Spring MVC + Spring + MyBatis 或 JSP + Servlet + JavaBean + JDBC。
recommend-type

《人机交互的软件工程方法》大作业 题 目: 智能家居交互系统的设计

《人机交互的软件工程方法》大作业 题 目: 智能家居交互系统的设计
recommend-type

Python编程判断这天是这一年第几天的方法示例

题目:输入某年某月某日,判断这一天是这一年的第几天? 实现代码: year=int(input('请输入年:')) month=int(input('请输入月:')) day=int(input('请输入天:')) sum=day days = [31,28,31,30,31,30,31,31,30,31,30...
recommend-type

基于SaaS的会务管理系统的设计与实现.doc

系统包括PC端和移动端,PC端包括登录注册、大会管理、人员管理、报名管理、弹幕管理、题库和考试管理这些功能模块。移动端包括发送弹幕、查看大会指南、答题闯关功能模块。在PC端,进入管理员界面,可以实现配置大会...
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

【实战演练】MATLAB用遗传算法改进粒子群GA-PSO算法

![MATLAB智能算法合集](https://static.fuxi.netease.com/fuxi-official/web/20221101/83f465753fd49c41536a5640367d4340.jpg) # 2.1 遗传算法的原理和实现 遗传算法(GA)是一种受生物进化过程启发的优化算法。它通过模拟自然选择和遗传机制来搜索最优解。 **2.1.1 遗传算法的编码和解码** 编码是将问题空间中的解表示为二进制字符串或其他数据结构的过程。解码是将编码的解转换为问题空间中的实际解的过程。常见的编码方法包括二进制编码、实数编码和树形编码。 **2.1.2 遗传算法的交叉和
recommend-type

openstack的20种接口有哪些

以下是OpenStack的20种API接口: 1. Identity (Keystone) API 2. Compute (Nova) API 3. Networking (Neutron) API 4. Block Storage (Cinder) API 5. Object Storage (Swift) API 6. Image (Glance) API 7. Telemetry (Ceilometer) API 8. Orchestration (Heat) API 9. Database (Trove) API 10. Bare Metal (Ironic) API 11. DNS
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。