//Customer为实体对象,用来封装客户信息
package com.fanfan.p2.bean;
//Customer为实体对象,用来封装客户信息
public class Customer {
private String name;//客户姓名
private char gender;//性别
private int age;//年龄
private String phone;//电话
private String 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;
}
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;
}
}
//CustomerList为Customer对象的管理模块
package com.fanfan.p2.service;
import com.fanfan.p2.bean.Customer;
//CustomerList为Customer对象的管理模块
public class CustomerList {
private Customer [] customers;//用來保存客服对象的数据
private int total = 0;//记录已保存客户对象的数量
//用来初始化customers数组
//totalCustomer:指定customers数组的最大空间
public CustomerList(int totalCustomer) {
customers = new Customer[totalCustomer];
}
//将指定的客户添加到数组中
//添加成功返回true添加失败返回false
public boolean addCustomer(Customer customer) {
if (total >= customers.length) {
return false;
}
customers[total++] = customer;
return true;
}
//修改指定索引位置的信息
//true修改成功 false 修改失败
public boolean replaceCustomer(int index,Customer cust) {
if (index < 0 || index >= total) {
return false;
}
customers[index] = cust;
return true;
}
//删除指定索引位置上的客户
//true删除成功false删除失败
public boolean deleteCustomer(int index) {
if (index < 0 || index >= total) {
return false;
}
for (int i = index; i < total - 1; i++) {
customers[i] = customers[i + 1];
}
//最后一个制成null
customers[total - 1] = null;
total--;
return true;
}
//获取所有客户信息
public Customer[] getAllCustomers(){
Customer[] custs = new Customer[total];
for (int i = 0; i < custs.length; i++) {
custs[i] = customers[i];
}
return custs;
}
//获取指定位置的客户
public Customer getCustomer(int index){
if (index < 0 || index >= total) {
return null;
}
return customers[index];
}
//获取所有客户数量
public int getTotal() {
return total;
}
}
//CustomerView为主模块,负责菜单的显示和处理用户的操作
package com.fanfan.p2.ui;
import com.fanfan.CMUtility;
import com.fanfan.p2.bean.Customer;
import com.fanfan.p2.service.CustomerList;
//CustomerView为主模块,负责菜单的显示和处理用户的操作
public class CustomerView {
private CustomerList customerList = new CustomerList(10);
public CustomerView() {
Customer customer = new Customer("范范", '女', 22, "1656565886", "88888818@qq.com");
customerList.addCustomer(customer);
}
// 显示《客户信息管理》界面的方法
public void enterMainMenu() {
boolean isFlage = true;
while (isFlage) {
System.out.println("\n-----------客户信息管理软件-----------");
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 menu = CMUtility.readMenuSelection();
switch (menu) {
case '1':
addNewCustomer();
break;
case '2':
modifyCustomer();
break;
case '3':
deleteCustomer();
break;
case '4':
listAllCustomer();
break;
case '5':
// System.out.println("退出");
System.out.println("确认是否退出(Y/N):");
char isExit = CMUtility.readConfirmSelection();
if (isExit == 'Y') {
isFlage = false;
}
}
}
}
// 添加客户的操作
private void addNewCustomer() {
// System.out.println("添加客户的操作");
System.out.println("-------------------添加客户-------------------");
System.out.println("姓名:");
String name = CMUtility.readString(10);
System.out.println("性别:");
char gender = CMUtility.readChar();
System.out.println("年龄:");
int age = CMUtility.readInt();
System.out.println("电话:");
String phone = CMUtility.readString(13);
System.out.println("邮箱:");
String email = CMUtility.readString(18);
// 将上述数据封装到对象
Customer customer = new Customer(name, gender, age, phone, email);
boolean isSuccess = customerList.addCustomer(customer);
if (isSuccess) {
System.out.println("-------------------添加完成-------------------");
} else {
System.out.println("-------------客户目录已满,添加失败-------------");
}
}
// 修改客户的操作
private void modifyCustomer() {
// System.out.println("修改客户的操作");
System.out.println("-------------------修改客户-------------------");
Customer cust;
int number;
for (;;) {
System.out.println("请选择待修改客户编号(-1退出):");
number = CMUtility.readInt();
if (number == -1) {
return;
}
cust = customerList.getCustomer(number - 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 phone = CMUtility.readString(13, cust.getPhone());
System.out.println("邮箱(" + cust.getEmail() + "): ");
String email = CMUtility.readString(18, cust.getEmail());
Customer newCust = new Customer(name, gender, age, phone, email);
boolean isReplaced = customerList.replaceCustomer(number - 1, newCust);
if (isReplaced) {
System.out.println("-------------------修改完成-------------------");
} else {
System.out.println("-------------------修改失败-------------------");
}
}
// 删除客户的操作
private void deleteCustomer() {
// System.out.println("删除客户的操作");
System.out.println("-------------------删除客户-------------------");
int number;
for (;;) {
System.out.println("请选择待删除客户编号(-1退出):");
number = CMUtility.readInt();
if (number == -1) {
return;
}
Customer customer = customerList.getCustomer(number - 1);
if (customer == null) {
System.out.println("无法找到指定客户!");
} else {
break;
}
}
System.out.println("确认是否删除(Y/N):");
char isDelete = CMUtility.readConfirmSelection();
if (isDelete == 'Y') {
boolean deleteSuccess = customerList.deleteCustomer(number - 1);
if (deleteSuccess) {
System.out.println("-------------------删除完成-------------------");
} else {
System.out.println("-------------------删除失败-------------------");
}
} else {
return;
}
}
// 显示客户列表的操作
private void listAllCustomer() {
System.out.println("-------------------客户列表-------------------\n");
int total = customerList.getTotal();
if (total == 0) {
System.out.println("没有客户记录");
} else {
System.out.println("编号\t姓名\t性别\t年龄\t电话\t\t\t邮箱\t");
Customer[] custs = customerList.getAllCustomers();
for (int i = 0; i < custs.length; i++) {
Customer cust = custs[i];
System.out.println((i + 1) + "\t" + cust.getName() + "\t" + cust.getGender() + "\t" + cust.getAge()
+ "\t" + cust.getPhone() + "\t" + cust.getEmail());
}
}
System.out.println("-----------------客户列表完成-----------------\n");
}
public static void main(String[] args) {
CustomerView view = new CustomerView();
view.enterMainMenu();
}
}