如何用Java制作简易客户查询系统

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

如何用java制作简易客户查询系统

做一个简易的客户查询系统,核心是管理客户信息并支持按条件查找。用Java实现时,不需要数据库或图形界面也能快速搭建一个控制台版本的系统。下面一步步说明怎么做。

1. 设计客户类(Customer)

每个客户的信息可以用一个类来封装,比如包含ID、姓名、电话、邮箱等字段。

public class Customer {    private int id;    private String name;    private String phone;    private String email;
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; }@Overridepublic String toString() {    return "ID: " + id + ", 姓名: " + name + ", 电话: " + phone + ", 邮箱: " + email;}

}

2. 构建客户管理系统(CustomerSystem)

这个类负责存储客户数据,并提供添加、查询功能。使用ArrayList保存客户列表。

立即学习“Java免费学习笔记(深入)”;

import java.util.ArrayList;import java.util.Scanner;

public class CustomerSystem {private ArrayList customers;private Scanner scanner;

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("未找到匹配的客户。");        }    }
// 按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("请选择操作:");
        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("无效选择,请重试。");        }    }}

3. 编写主程序入口

创建Main类启动系统。

public class Main {    public static void main(String[] args) {        CustomerSystem system = new CustomerSystem();        system.run();    }}

4. 运行效果示例

运行后控制台会显示菜单:

--- 客户查询系统 ---1. 按ID查询2. 按姓名查询3. 退出请选择操作:2请输入客户姓名关键词:张搜索结果:ID: 1, 姓名: 张三, 电话: 13800138001, 邮箱: zhangsan@email.com

这个系统虽然简单,但结构清晰,适合学习Java基础语法、类设计和集合操作。

如果想扩展功能,可以考虑加入添加客户、删除客户、保存到文件等功能。但现在这样已经能完成基本的查询任务了。

基本上就这些,不复杂但容易忽略细节,比如scanner.nextLine()的使用时机。照着写一遍就能掌握。

以上就是如何用Java制作简易客户查询系统的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/32662.html

赞 (0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
《无主之地4》秘藏猎人拉法故事预告片
上一篇 2026年10月9日 12:15:53
cad串接快捷键命令怎么用
下一篇 2025年11月29日 01:32:42

相关推荐

  • 《无主之地4》秘藏猎人拉法故事预告片

    《无主之地4》秘藏猎人拉法故事预告片《无主之地4》秘藏猎人拉法故事预告片《无主之地4》秘藏猎人拉法故事预告片《无主之地4》秘藏猎人拉法故事预告片

    《无主之地4》发布全新秘藏猎人拉法角色预告片。 游戏将于9月12日全球发售,登陆PS5、Xbox及PC平台,计划于今年内同步推出Switch2版本。 视频:https://www.php.cn/link/06105c85f981efa401be2fb19ae27fbe 故事AI绘图神器 文本生成图文…

    2026年10月9日 • 用户投稿
    000
  • 零一万物联创戴宗宏离职创业,获得创新工场投资

    零一万物联创戴宗宏离职创业,获得创新工场投资零一万物联创戴宗宏离职创业,获得创新工场投资零一万物联创戴宗宏离职创业,获得创新工场投资零一万物联创戴宗宏离职创业,获得创新工场投资

    ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜ 据媒体报道,零一万物的联合创始人、技术副总裁戴宗宏近期离职并开始了自己的创业之旅。在零一万物工作期间,他领导的AI Infra团队致力于解决大规模并行训练中的系统瓶颈,提升训练效率,同时降低训练…

    2026年10月9日 • 用户投稿
    100
  • Word文档如何设置文档主题_Word文档主题设置与更改教程

    Word文档如何设置文档主题_Word文档主题设置与更改教程Word文档如何设置文档主题_Word文档主题设置与更改教程Word文档如何设置文档主题_Word文档主题设置与更改教程Word文档如何设置文档主题_Word文档主题设置与更改教程

    Word文档主题是一组预设的颜色、字体和效果组合,可统一文档风格。通过“设计”选项卡选择或自定义主题,能快速美化报告、简历等正式文档,提升专业感与编辑效率。 在Word文档中设置主题可以快速统一文档的字体、颜色和整体风格,让文档看起来更专业、美观。操作简单,适合用于报告、简历、方案等正式文档的排版美…

    2026年10月9日 • 用户投稿
    000
  • Java中Avro序列化的性能对比测试

    Java中Avro序列化的性能对比测试Java中Avro序列化的性能对比测试Java中Avro序列化的性能对比测试Java中Avro序列化的性能对比测试

    avro在java序列化中性能更优,因其紧凑二进制格式和schema驱动设计。1. avro避免冗余元数据,减少数据体积;2. 使用高效二进制编码(如varint)降低存储和传输成本;3. 通过specificrecord机制规避反射开销,提升处理速度;4. 支持零拷贝优化,增强大数据场景下的性能表…

    2026年10月9日 • 用户投稿
    300
  • 大爷理发给外币店主以为是假钱:“我不要,换一张”

    10月11日江苏徐州,一位大爷理发后用100澳元付款,店主不认识便误以为是“假钱”而拒收。此事引来网友热议,调侃店主错失了这“泼天的富贵”。 百元大钞竟是“烫手山芋” 1、老大爷在理发后掏出百元大钞付款,但店主从未见过这种货%ignore_a_1%,因此心生警惕不敢接收。 2、店主拿着这张陌生的纸币…

    2026年10月9日
    100
  • 通义灵码能讲解代码吗怎么弄

    通义灵码能讲解代码吗怎么弄通义灵码能讲解代码吗怎么弄通义灵码能讲解代码吗怎么弄通义灵码能讲解代码吗怎么弄

    通义灵码可以用来讲解代码,操作方便。1.访问官方网站或应用,输入代码。2.通义灵码自动分析并逐行讲解,指出错误和优化建议。3.优势在于即时性和多语言支持。4.优化效果方法:输入完整代码、添加注释、更新版本。 ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1…

    2026年10月9日 • 用户投稿
    000
  • 告别PHP扩展依赖:如何使用splitbrain/php-archive解决TAR和ZIP档案读写问题

    告别PHP扩展依赖:如何使用splitbrain/php-archive解决TAR和ZIP档案读写问题告别PHP扩展依赖:如何使用splitbrain/php-archive解决TAR和ZIP档案读写问题告别PHP扩展依赖:如何使用splitbrain/php-archive解决TAR和ZIP档案读写问题告别PHP扩展依赖:如何使用splitbrain/php-archive解决TAR和ZIP档案读写问题

    可以通过一下地址学习composer:学习地址 想象一下这样的场景:你正在开发一个 PHP 应用,其中一个核心功能是需要处理用户上传的 ZIP 文件,或者需要定期将网站数据打包成 TAR.GZ 格式进行备份。你可能自然而然地想到了 PHP 内置的 ZipArchive 类或者 PharData。它们…

    2026年10月9日 • 用户投稿
    100
  • Java虚拟线程的性能测试与使用建议

    Java虚拟线程的性能测试与使用建议Java虚拟线程的性能测试与使用建议Java虚拟线程的性能测试与使用建议Java虚拟线程的性能测试与使用建议

    java虚拟线程适用于i/o密集型任务,但不适用于所有并发场景。1. 对于cpu密集型任务,建议使用forkjoinpool等固定大小线程池;2. 避免大量使用threadlocal,可改用scopedvalue防止内存泄漏;3. 不适合需要精确控制线程优先级的实时系统;4. 与本地代码交互时可能性…

    2026年10月9日 • 用户投稿
    200
  • 5G-A+智算+大模型护航!中兴通讯协同三大运营商让电竞激情零卡顿

    5G-A+智算+大模型护航!中兴通讯协同三大运营商让电竞激情零卡顿5G-A+智算+大模型护航!中兴通讯协同三大运营商让电竞激情零卡顿5G-A+智算+大模型护航!中兴通讯协同三大运营商让电竞激情零卡顿5G-A+智算+大模型护航!中兴通讯协同三大运营商让电竞激情零卡顿

    近日,第十一届王者荣耀全国大赛总决赛在湖北孝感奥体公园隆重举行,为期两天的电竞盛宴令人震撼。中兴通讯与三大运营商紧密合作,响应孝感市委市政府的号召,搭建了“终端+专线+5g-a”的全方位通信保障体系,为全国参赛选手、观众及线上用户提供了“无延迟、低时延、高稳定”的极致赛事体验,让每位参与者都能充分享…

    2026年10月9日 • 用户投稿
    300
  • 天猫魔屏s1怎么连接苹果手机屏幕

    投屏前的必要准备 在开始投屏之前,请确认天猫魔屏s1与你的苹果手机已连接至同一个Wi-Fi网络。只有在同一局域网环境下,设备之间才能顺利建立连接并传输画面。 启用天猫魔屏s1的接收功能 开启天猫魔屏s1,进入主页面。 找到并启动“乐播投屏”或类似名称的投屏接收应用(不同系统版本可能略有差异)。 查看…

    2026年10月9日
    100
  • 优化MySQL数据库性能的常用方法和工具

    mysql数据库需要优化性能以提升用户体验和系统效率。优化方法包括:1. 创建合适的索引,如create index idx_name on users(name); 2. 优化查询语句,如select order_id, order_date from orders where customer_…

    2026年10月9日
    100
  • 《八方旅人0》中字宣传片公开!八人战斗、城镇建造

    《八方旅人0》中字宣传片公开!八人战斗、城镇建造《八方旅人0》中字宣传片公开!八人战斗、城镇建造《八方旅人0》中字宣传片公开!八人战斗、城镇建造《八方旅人0》中字宣传片公开!八人战斗、城镇建造

    视频: 现在出发,开启属于你的传奇篇章。 2025年12月4日,人气RPG系列最新作《八方旅人0》即将登陆Nintendo Switch、Nintendo Switch 2、PlayStation 5、PlayStation 4、Steam、Xbox Series X|S、Windows平台。 全球…

    2026年10月9日 • 用户投稿
    100
  • Windows 11 Paint应用正式推出暗黑模式,提升用户体验

    Windows 11 Paint应用正式推出暗黑模式,提升用户体验Windows 11 Paint应用正式推出暗黑模式,提升用户体验Windows 11 Paint应用正式推出暗黑模式,提升用户体验Windows 11 Paint应用正式推出暗黑模式,提升用户体验

    N软网报道,微软近期在其Windows 11的最新版本中正式发布了Paint应用的夜间模式,这一功能不再局限于仅限于技术测试计划的用户。普通用户无需加入Windows Insider计划,即可享受Paint应用的全新暗色主题界面。 在经过一年的细致优化后,微软终于为这款经典绘图工具添加了备受期待的夜…

    2026年10月9日 • 用户投稿
    100
  • linux怎么查看jdk是什么版本

    linux怎么查看jdk是什么版本linux怎么查看jdk是什么版本linux怎么查看jdk是什么版本linux怎么查看jdk是什么版本

    查看方法:1、如果没有设置jdk环境变量,则需要先使用cd命令进入jdk所在目录,语法“cd 目录地址”,然后执行“./bin/java -version”命令即可获取版本信息。2、设置了环境变量,则直接执行“java -version”即可获取版本信息。 本教程操作环境:linux7.3系统、De…

    2026年10月9日 • 用户投稿
    100
  • laravel怎么在测试中刷新数据库并重新填充数据_laravel测试刷新数据库并重新填充方法

    使用 RefreshDatabase Trait 可在每次测试前后自动重置数据库状态,结合 DatabaseMigrations 与 DB::statement 能手动清空表并重播种子,DatabaseTransactions 则通过事务回滚避免数据污染,而 migrate:fresh 配合 db:…

    2026年10月9日
    200
  • 铁路12306报销凭证怎么打印_铁路12306报销凭证打印步骤

    铁路12306报销凭证怎么打印_铁路12306报销凭证打印步骤铁路12306报销凭证怎么打印_铁路12306报销凭证打印步骤铁路12306报销凭证怎么打印_铁路12306报销凭证打印步骤铁路12306报销凭证怎么打印_铁路12306报销凭证打印步骤

    全国铁路推行电子发票后,旅客可通过12306 APP或车站设备获取报销凭证。①登录APP进入“电子发票”页面,选择行程并填写发票信息,提交后可下载PDF或OFD格式文件;②也可在车站打印含二维码的开票单,扫码后填写信息完成开具。 如果您需要为铁路行程获取报销凭证,但发现传统的纸质票即将或已经无法打印…

    2026年10月9日 • 用户投稿
    000
  • VSCode插件:Markdown写作增强工具

    推荐4款VSCode Markdown插件:1. Markdown All in One 提供快捷键、目录生成和格式化;2. Markdown Preview Enhanced 支持同步预览、导出及图表公式;3. Markdownlint 实现语法检查与规范统一;4. Paste Image int…

    2026年10月9日
    200
  • 《无主之地4》“铁骨战士”拉法中配故事预告片公开!

    《无主之地4》“铁骨战士”拉法中配故事预告片公开!《无主之地4》“铁骨战士”拉法中配故事预告片公开!《无主之地4》“铁骨战士”拉法中配故事预告片公开!《无主之地4》“铁骨战士”拉法中配故事预告片公开!

    近日,2k中国正式发布了《无主之地4》新角色“铁骨战士”拉法的中文配音角色故事预告片,深入揭示了这位武器大师的过往经历与战斗信念,一起来观看了解这位强势角色的崛起之路! 预告视频: 外骨骼重铸战躯,万武归一火力全开!战场美学由拉法重新定义,她将与你并肩作战,粉碎时间尊者的统治野心! 《无主之地4》将…

    2026年10月9日 • 用户投稿
    100
  • iPhone 16系列全球销量数据曝光:11个月卖出1.37亿台

    iPhone 16系列全球销量数据曝光:11个月卖出1.37亿台iPhone 16系列全球销量数据曝光:11个月卖出1.37亿台iPhone 16系列全球销量数据曝光:11个月卖出1.37亿台iPhone 16系列全球销量数据曝光:11个月卖出1.37亿台

    近日,数码博主公布了iphone 16系列自去年9月发布以来的全球销售情况。数据显示,截至今年7月底(上市11个月),该系列全球总销量达到1亿3731万台,相较上一代iphone 15系列同期销量微降2%。其中,高端机型表现尤为亮眼:pro max与pro两款机型合计占据总销量的61%(pro ma…

    2026年10月9日 • 用户投稿
    100
  • 如何解决Laravel网站SEO痛点,使用ultrono/laravel-sitemap轻松生成站点地图

    如何解决Laravel网站SEO痛点,使用ultrono/laravel-sitemap轻松生成站点地图如何解决Laravel网站SEO痛点,使用ultrono/laravel-sitemap轻松生成站点地图如何解决Laravel网站SEO痛点,使用ultrono/laravel-sitemap轻松生成站点地图如何解决Laravel网站SEO痛点,使用ultrono/laravel-sitemap轻松生成站点地图

    可以通过一下地址学习composer:学习地址 在构建和维护Laravel应用程序时,我们常常会面临一个棘手的问题:如何确保网站的所有页面,特别是那些动态生成的内容(如博客文章、产品详情页等),能够被搜索引擎及时、准确地发现和索引?起初,我尝试手动创建一个sitemap.xml文件,但很快就发现这简…

    2026年10月9日 • 用户投稿
    000

发表回复

登录后才能评论
关注微信