程序介绍
以下是一个简单的客户信息管理系统的Java代码示例,包含登录、增删改查功能,并使用控制台进行输入和输出。
我们使用了嵌套类 Customer 来表示每个客户的信息,包括客户编号、姓名和电话。可以通过创建 Customer 的实例来存储新客户的信息,并通过 customers 列表来存储所有客户的信息。
其中,登录功能使用了用户名和密码的简单验证,可以根据实际需要替换为更安全的身份验证方法。在添加、删除、修改和查询客户信息时,增加了对用户登录状态的判断,只有登录用户才能进行操作。
这个示例程序只是一个简单的实现,实际应用中可能需要更完善的错误处理、数据存储和用户界面等功能。
源代码
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class CustomerManagementSystem {
// 存储所有客户信息
private List<Customer> customers = new ArrayList<>();
// 当前登录用户
private Customer currentUser;
public static void main(String[] args) {
CustomerManagementSystem system = new CustomerManagementSystem();
system.start();
}
public void start() {
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("欢迎使用客户信息管理系统!");
if (currentUser == null) {
System.out.println("请先登录:");
System.out.println("请输入用户名:");
String username = scanner.nextLine().trim();
System.out.println("请输入密码:");
String password = scanner.nextLine().trim();
login(username, password);
} else {
System.out.println("当前登录用户:" + currentUser.getUsername());
System.out.println("请选择您要进行的操作:");
System.out.println("1. 添加客户");
System.out.println("2. 删除客户");
System.out.println("3. 修改客户信息");
System.out.println("4. 查询客户信息");
System.out.println("0. 退出系统");
int choice = scanner.nextInt();
switch (choice) {
case 1:
addCustomer(scanner);
break;
case 2:
removeCustomer(scanner);
break;
case 3:
updateCustomer(scanner);
break;
case 4:
queryCustomer(scanner);
break;
case 0:
logout();
return;
default:
System.out.println("输入有误,请重新选择!");
break;
}
}
}
}
/**
* 登录
*/
private void login(String username, String password) {
// TODO: 校验用户名和密码,如果验证通过则设置当前登录用户
currentUser = new Customer(username, password);
System.out.println("登录成功!");
}
/**
* 退出登录
*/
private void logout() {
currentUser = null;
System.out.println("已退出登录!");
}
/**
* 添加客户
*/
private void addCustomer(Scanner scanner) {
// 只有登录用户才能添加客户
if (currentUser == null) {
System.out.println("请先登录!");
return;
}
System.out.println("请输入客户姓名:");
String name = scanner.next();
System.out.println("请输入客户电话:");
String phone = scanner.next();
// 根据需要可以增加其他字段,比如地址、邮箱等
// 生成新的客户编号
int id = customers.size() + 1;
Customer customer = new Customer(id, name, phone);
customers.add(customer);
System.out.println("添加客户成功!");
}
/**
* 删除客户
*/
private void removeCustomer(Scanner scanner) {
// 只有登录用户才能删除客户
if (currentUser == null) {
System.out.println("请先登录!");
return;
}
System.out.println("请输入要删除的客户编号:");
int id = scanner.nextInt();
boolean isRemoved = false;
for (int i = 0; i < customers.size(); i++) {
if (customers.get(i).getId() == id) {
customers.remove(i);
isRemoved = true;
break;
}
}
if (isRemoved) {
System.out.println("删除客户成功!");
} else {
System.out.println("未找到要删除的客户,请检查输入的客户编号是否正确!");
}
}
/**
* 修改客户信息
*/
private void updateCustomer(Scanner scanner) {
// 只有登录用户才能修改客户信息
if (currentUser == null) {
System.out.println("请先登录!");
return;
}
System.out.println("请输入要修改的客户编号:");
int id = scanner.nextInt();
boolean isUpdated = false;
for (Customer customer : customers) {
if (customer.getId() == id) {
System.out.println("请重新输入客户姓名(回车跳过不修改):");
String name = scanner.nextLine().trim();
if (!name.isEmpty()) {
customer.setName(name);
}
System.out.println("请重新输入客户电话(回车跳过不修改):");
String phone = scanner.nextLine().trim();
if (!phone.isEmpty()) {
customer.setPhone(phone);
}
// 根据需要可以增加其他字段的修改
isUpdated = true;
break;
}
}
if (isUpdated) {
System.out.println("修改客户信息成功!");
} else {
System.out.println("未找到要修改的客户,请检查输入的客户编号是否正确!");
}
}
/**
* 查询客户信息
*/
private void queryCustomer(Scanner scanner) {
System.out.println("请输入要查询的客户姓名或电话关键字:");
String keyword = scanner.next();
List<Customer> result = new ArrayList<>();
for (Customer customer : customers) {
if (customer.getName().contains(keyword) || customer.getPhone().contains(keyword)) {
result.add(customer);
}
}
if (result.size() > 0) {
System.out.println("查询结果如下:");
for (Customer customer : result) {
System.out.println(customer);
}
} else {
System.out.println("未找到与关键字匹配的客户!");
}
}
/**
* 客户类
*/
private static class Customer {
private final int id;
private String name;
private String phone;
public Customer(int id, String name, String phone) {
this.id = id;
this.name = name;
this.phone = phone;
}
public int getId() {
return id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
@Override
public String toString() {
return "Customer{" +
"id=" + id +
", name='" + name + '\'' +
", phone='" + phone + '\'' +
'}';
}
}
}
© 版权声明
本站资源来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!
THE END