题目:实现客户姓名的管理 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 14:02:36 浏览: 69
PHP实现求连续子数组最大和问题2种解决方法
以下是实现客户姓名管理的 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`。
阅读全文