新闻中心
J*a初学者如何做通讯录管理项目_对象集合与搜索功能整合
首先设计Contact类管理联系人信息,再用ArrayList存储多个联系人对象,通过遍历集合实现按姓名关键字搜索功能,结合类、对象、集合、循环与条件判断完成通讯录核心功能。

刚开始学J*a的同学做通讯录项目时,最核心的就是学会用对象管理数据、用集合存联系人、再通过搜索快速查找。这个过程能帮你把类、对象、List、循环和条件判断这些基础知识点串起来。下面一步步讲清楚怎么做。
设计联系人类(Contact)
每个联系人是一个对象,包含姓名、电话、邮箱等信息。先定义一个类来描述它。
class Contact {
private String name;
private String phone;
private String email;
public Contact(String name, String phone, String email) {
this.name = name;
this.phone = phone;
this.email = email;
}
// getter方法,方便外部访问属性
public String getName() { return name; }
public String getPhone() { return phone; }
public String getEmail() { return email; }
@Override
public String toString() {
return "姓名:" + name + ",电话:" + phone + ",邮箱:" + email;
}
}
用ArrayList存储多个联系人
所有联系人都放进一个集合里,用ArrayList最合适,增删查都很方便。
使用 ArrayList
import j*a.util.ArrayList;
public class AddressBook {
private ArrayList
// 添加联系人
public void addContact(Contact contact) {
contacts.add(contact);
}
// 显示全部联系人
public void showAll() {
for (Contact c : contacts) {
Syst
em.out.println(c);
}
}
}
实现按姓名搜索功能
用户输入名字的一部分,程序遍历集合查找匹配的联系人。
搜索逻辑写在AddressBook类中:
Tunee AI
新一代AI音乐智能体
1104
查看详情
// 按姓名关键字搜索
public void searchByName(String keyword) {
boolean found = false;
for (Contact c : contacts) {
if (c.getName().contains(keyword)) {
System.out.println(c);
found = true;
}
}
if (!found) {
System.out.println("未找到包含 '" + keyword + "' 的联系人");
}
}
主程序调用示例
写个main方法测试整个流程:
public static void main(String[] args) {
AddressBook book = new AddressBook();
// 添加几个测试数据
book.addContact(new Contact("张三", "13800001111", "zhang@qq.com"));
book.addContact(new Contact("李四", "13800002222", "li@qq.com"));
book.addContact(new Contact("王小三", "13800003333", "wang@qq.com"));
// 查看全部
book.showAll();
// 搜索名字含“三”的
System.out.println("\n搜索“三”:");
book.searchByName("三");
}
运行后你会看到所有名字带“三”的联系人都被打印出来,说明搜索成功。
基本上就这些。掌握好类的设计、ArrayList存对象、遍历查找这三个点,通讯录的核心功能就有了。后面可以加删除、修改、按电话搜索等功能,都是在这个基础上扩展。不复杂但容易忽略细节,比如getter方法没写就取不到值,或者contains用成了equals导致搜不出部分匹配的内容。
以上就是J*a初学者如何做通讯录管理项目_对象集合与搜索功能整合的详细内容,更多请关注其它相关文章!
# 成了
# seo的主要问题
# 潼南区的网站建设高端
# 临沂 网站排名优化推广
# 衡阳网站建设开发电话
# 秦皇岛营销网站推广优势
# 浙江网站怎么推广文章
# 苏州虚拟网站建设哪里有
# 抖音seo招代理
# 实践者全域营销推广
# seo301定向问题
# 你会
# 不出
# java
# 几个
# 是一个
# 都是
# 多个
# 如何做
# 遍历
# 搜索功能
# 邮箱
# ai
# qq
# word
# 通讯录管理
相关栏目:
【
科技资讯46185 】
【
网络学院92790 】
相关推荐:
PostgreSQL海量数据高效导入策略:Python与Django实践指南
利用Bokeh CustomJS动态控制DataTable列可见性
Yandex搜索引擎官方地址 俄罗斯网络世界的主要入口
圆通快递查询实时追踪 圆通物流包裹状态快速查看
夸克浏览器桌面版同步不了书签怎么处理 夸克浏览器跨设备同步异常解决方案
KFC套餐升级怎么获取优惠代码_KFC套餐升级活动与优惠代码获取方法
Go语言中JSON数据解码与字段访问指南
微信网页版官方快速登录入口 微信网页版网页版账号直达
C++如何使用AddressSanitizer(ASan)_C++调试工具中检测内存访问错误的利器
Fabric模组开发:自定义物品与物品组的现代管理方法
Python大型XML文件高效流式解析教程
如何优雅地扩展SprykerGlue后端API授权逻辑,使用spryker/glue-backend-api-application-authorization-connector-extension
如何在复杂的电商平台中优雅地管理共享资源并确保正确重定向,使用spryker-shop/resource-share-page模块助你一臂之力
php源码怎么看淘宝客系统_看php源码淘宝客系统技巧
sublime怎么进行远程开发编辑_配置rsub/rmate实现sublime编辑服务器文件
J*a TimerTask文件监控:HashMap状态管理与常见陷阱规避指南
QQ邮箱登录官网首页 腾讯QQ邮箱网页入口
如何在Promise链中有效终止错误处理后的执行
大象笔记网页版入口 印象笔记网页版登录入口
Angular响应式表单:实现提交后表单及按钮的禁用与只读化
Adobe PDF表单中利用J*aScript解析与格式化日期组件的教程
J*aScript数组对象转换:按指定键分组与值收集
PDO预处理语句中冒号的正确处理:区分SQL函数格式与命名占位符
解决 Vaadin 8 中大文件音频播放与定位时出现的 IOException
搜狗浏览器如何使用密码生成器创建强密码 搜狗浏览器内置密码安全工具
如何在网页中实现特定地点的随机图片展示
React项目中导航栏Logo自适应布局:避免裁剪与布局溢出
漫蛙漫画登录站点 漫蛙2正版漫画快速访问
qq游戏跨平台入口_qq游戏多设备同步登录
海量存储:机器视觉智能化的核心基石
mysql如何设置表访问权限_mysql表访问权限配置
随机参数递归函数的基准调用次数与时间复杂度探究
Golang如何使用const iota_Go iota常量计数器讲解
创客贴用户入口官网登录 创客贴网页版电脑版系统
如何使用 Excel 发布器与 Power BI 分享 Excel 洞察
Yandex搜索引擎一键访问入口_俄罗斯Yandex官网免登录
LINUX下如何进行磁盘分区_fdisk与parted工具在LINUX中的使用对比
如何仅使用CSS更改登录界面背景图像图标的颜色
批改网学生版PC登录 批改网官网登录系统入口
服务端验证_j*ascript输入检查
Win10怎么制作U盘启动盘 Win10系统安装U盘制作教程【详解】
如何在CSS中使用浮动制作导航栏_float实现水平菜单
AWS EC2实例间SQL Server连接超时:安全组配置与故障排除指南
小红书怎么解除第三方平台绑定_小红书多平台登录解绑方法介绍
如何将一个大型PHP应用拆分为多个Composer包_微服务与模块化架构的Composer实践
composer的"require-dev"部分是用来做什么的?
C++如何进行游戏物理模拟_使用Box2D库为C++游戏添加2D物理效果
163邮箱网页版入口导航平台 163邮箱网页版登录入口官网导航
J*aScript打印功能_j*ascript输出控制
凉拌黄瓜怎么拌更入味 凉拌黄瓜简单家常做法


2025-12-04
浏览次数:次
返回列表