第3关:简单通讯录管理系统之删除用户
任务描述
本关任务:实现删除通讯录用户的功能。
编程要求
仔细阅读右侧编辑区内给出的代码框架及注释,在 Begin-End 中实现通讯录管理系统中删除用户信息的功能,具体要求如下:
在 PhoneManage.java 类定义一个 deletePhone(User[] users) 的方法,无返回值,该方法实现根据输入的用户名,在通讯录中删除该用户信息;
首先输出:“请输入姓名:”,然后读取键盘输入的用户名,在 users 对象中删除对应的用户信息,最后输出:“删除成功!”。
测试说明
平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。
可在右侧“测试结果”区查看具体的测试集详情。
测试输入:
xiaoming
18845821235
zhangfeng
18895452541
zhangfeng
预期输出:
请输入姓名:
删除成功!
xiaoming 18845821235
import java.util.Scanner;
public class PhoneManage {
Scanner sc = new Scanner(System.in);
/**
* 参数 users
* 新增用户信息
*/
public void addPhone(User[] users) {
// 将键盘输入的用户信息存入用户对象中
String name = sc.next();
String tel = sc.next();
User u = new User(name,tel);
// 将对象放入对象数组中
for (int i = 0; i < users.length; i++) {
if (users[i] == null) {
users[i] = u;
break;
}
}
}
/**
* 参数 users
* 查询通讯录列表
*/
public void showPhone(User[] users){
for (int i = 0; i < users.length; i++) {
if (users[i] != null) {
System.out.println(users[i].getName() + "\t" + users[i].getTel());
}
}
}
public void deletePhone(User[] users){
// 获取键盘输入的用户名
System.out.println("请输入姓名:");
String name = sc.next();
// 根据用户名查找该用户,最后将该用户从用户对象数组中删除
for (int i = 0; i < users.length; i++) {
User user = users[i]; // 把所有 users[i] 赋值给 y
if (user != null && name.equals(user.getName())) {
users[i] = null;
System.out.println("删除成功!");
break;
}
}
}
/********** End **********/
}