先设计Customer类封装客户信息,再用ArrayList存储数据并实现按ID或姓名查询功能,最后通过控制台菜单交互,完成一个简易客户查询系统。

做一个简易的客户查询系统,核心是管理客户信息并支持按条件查找。用Java实现时,不需要数据库或图形界面也能快速搭建一个控制台版本的系统。下面一步步说明怎么做。
每个客户的信息可以用一个类来封装,比如包含ID、姓名、电话、邮箱等字段。
public class Customer {
private int id;
private String name;
private String phone;
private String email;
<pre class='brush:java;toolbar:false;'>public Customer(int id, String name, String phone, String email) {
this.id = id;
this.name = name;
this.phone = phone;
this.email = email;
}
// Getter方法(便于打印和查询)
public int getId() { return id; }
public String getName() { return name; }
public String getPhone() { return phone; }
public String getEmail() { return email; }
@Override
public String toString() {
return "ID: " + id + ", 姓名: " + name + ", 电话: " + phone + ", 邮箱: " + email;
}}
这个类负责存储客户数据,并提供添加、查询功能。使用ArrayList保存客户列表。
立即学习“Java免费学习笔记(深入)”;
import java.util.ArrayList;
import java.util.Scanner;
<p>public class CustomerSystem {
private ArrayList<Customer> customers;
private Scanner scanner;</p><pre class='brush:java;toolbar:false;'>public CustomerSystem() {
customers = new ArrayList<>();
scanner = new Scanner(System.in);
initTestData(); // 初始化一些测试数据
}
// 添加测试数据方便演示
private void initTestData() {
customers.add(new Customer(1, "张三", "13800138001", "zhangsan@email.com"));
customers.add(new Customer(2, "李四", "13800138002", "lisi@email.com"));
customers.add(new Customer(3, "王五", "13800138003", "wangwu@email.com"));
}接着在同一个类中添加查询方法:
// 按姓名模糊查询
public void searchByName(String keyword) {
System.out.println("搜索结果:");
boolean found = false;
for (Customer c : customers) {
if (c.getName().contains(keyword)) {
System.out.println(c);
found = true;
}
}
if (!found) {
System.out.println("未找到匹配的客户。");
}
}
<pre class='brush:java;toolbar:false;'>// 按ID精确查询
public void searchById(int id) {
for (Customer c : customers) {
if (c.getId() == id) {
System.out.println("找到客户:" + c);
return;
}
}
System.out.println("未找到ID为 " + id + " 的客户。");
}再写一个运行主菜单的方法:
public void run() {
while (true) {
System.out.println("\n--- 客户查询系统 ---");
System.out.println("1. 按ID查询");
System.out.println("2. 按姓名查询");
System.out.println("3. 退出");
System.out.print("请选择操作:");
<pre class='brush:java;toolbar:false;'> int choice = scanner.nextInt();
scanner.nextLine(); // 吃掉换行符
switch (choice) {
case 1:
System.out.print("请输入客户ID:");
int id = scanner.nextInt();
scanner.nextLine();
searchById(id);
break;
case 2:
System.out.print("请输入客户姓名关键词:");
String name = scanner.nextLine();
searchByName(name);
break;
case 3:
System.out.println("再见!");
return;
default:
System.out.println("无效选择,请重试。");
}
}
}创建Main类启动系统。
public class Main {
public static void main(String[] args) {
CustomerSystem system = new CustomerSystem();
system.run();
}
}
运行后控制台会显示菜单:
--- 客户查询系统 --- 1. 按ID查询 2. 按姓名查询 3. 退出 请选择操作:2 请输入客户姓名关键词:张 搜索结果: ID: 1, 姓名: 张三, 电话: 13800138001, 邮箱: zhangsan@email.com
这个系统虽然简单,但结构清晰,适合学习Java基础语法、类设计和集合操作。
如果想扩展功能,可以考虑加入添加客户、删除客户、保存到文件等功能。但现在这样已经能完成基本的查询任务了。
基本上就这些,不复杂但容易忽略细节,比如scanner.nextLine()的使用时机。照着写一遍就能掌握。
以上就是如何用Java制作简易客户查询系统的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号