任务描述
本关任务:实现修改通讯录用户电话号码的功能。
编程要求
仔细阅读右侧编辑区内给出的代码框架及注释,在 Begin-End 中实现通讯录管理系统中修改用户信息的功能,具体要求如下:
-
在 PhoneManage.java 类定义一个 changePhone(User[] users) 的方法,无返回值,该方法实现修改用户电话号码的功能;
-
首先输出:“请输入你要修改用户的名称:”,然后读取键盘输入的用户名,在 users 对象中找到对应的用户信息;
-
然后输出:“请输入新电话:”,读取键盘输入的电话号码,将用户的电话号码进行修改,最后输出:“修改成功!”。
测试说明
平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。 可在右侧“测试结果”区查看具体的测试集详情。
测试输入:
xiaoming
18845821235
zhangfeng
18895452541
xiaoming
16345481598
预期输出:
请输入你要修改用户的名称:
请输入新电话:
修改成功!
xiaoming 16345481598
zhangfeng 18895452541
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());
}
}
}
/**
* 参数 users
* 删除通讯录用户信息
*/
public void deletePhone(User[] users){
// 获取键盘输入的用户名
System.out.println("请输入姓名:");
String delname = sc.next(); // 在控制台输入
// 根据用户名查找该用户,最后将该用户从用户对象数组中删除
for (int i = 0; i < users.length; i++) {
User y = users[i]; // 把所有 users[i] 赋值给 y
if (y != null && delname.equals(y.getName())) {
users[i] = null;
System.out.println("删除成功!");
break;
}
}
}
// 请在下面的Begin-End之间按照注释中给出的提示编写正确的代码
/********** Begin **********/
public void changePhone(User[] users){
// 获取要修改用户的名称
System.out.println("请输入你要修改用户的名称:");
String name =sc.next();
// 在用户对象数组中找到对应的用户信息
for(User user:users){
if(user !=null&&name.equals(user.getName())){
// 将该用户的电话修改为键盘输入的新电话号码
System.out.println("请输入新电话:");
user.setTel(sc.next());
System.out.println("修改成功!");
break;
}
}
}
/********** End **********/
}