提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
一、题目:
任务:在之前的练习任务中,我们已经实现了通讯录的增删改查等基本功能,主要实现一个通讯录的菜单管理功能。
二、编程要求
仔细阅读右侧编辑区内给出的代码框架及注释,在 Begin-End 中实现通讯录菜单管理功能,具体要求如下:
-
在 MenuPhone.java 中有 5 个选项,实现这几个选项的功能;
-
获取键盘输入的值,如果为 1、2、3、4,分别调用 PhoneManage.java 的方法实现这四个功能,之后返回主菜单,也就是将通讯录信息管理页面的内容重新打印输出;
-
如果为 5 ,退出程序,并输出:“退出成功!”;
-
如果输入的是其它值时,输出:“选择错误!”,返回主菜单。
注意:PhoneMange 类并没有实例化 Scannner 对象,某些方法需要用到该对象的,请在调用该方法时传过去。
三、文件位置(路径)
提示:Text1为Java项目,step5为包
四、代码:
1.MenuPhone.java文件(主类)
package step5;
import java.util.Scanner;
//此类为整个通讯录的总控制,负责启动
public class MenuPhone {
public static void main(String[] args) {
User[] users = new User[50]; // 创建一个对象数组,用于存放所有的通讯录信息
// 请在下面的Begin-End之间按照注释中给出的提示编写正确的代码
/********** Begin **********/
Scanner sc = new Scanner(System.in);
// 实例化 PhoneManage 对象
PhoneManage phoneManage = new PhoneManage();
while (true) { //创建一个循环用于重复执行此循环的操作
System.out.println("通讯录信息管理页面");
System.out.println("**********");
System.out.println("1.新增");
System.out.println("2.查看");
System.out.println("3.删除");
System.out.println("4.修改");
System.out.println("5.退出");
System.out.println("**********");
System.out.println("请输入选择的操作:");
// 获取键盘输入
String str = sc.next();
if ("1".equals(str)) {
// 新增用户
phoneManage.addPhone(users,sc);
} else if ("2".equals(str)) {
// 查询所有用户信息
phoneManage.showPhone(users);
} else if ("3".equals(str)) {
// 删除用户信息
phoneManage.deletePhone(users,sc);
} else if ("4".equals(str)) {
// 修改用户信息
phoneManage.changePhone(users,sc);
} else if ("5".equals(str)) {
// 退出操作
System.out.println("退出成功!");
break;
} else {
System.out.println("选择错误!");
}
}
/********** End **********/
}
}
2.User.java(属性类)
package step5;
//请在下面的Begin-End之间按照注释中给出的提示编写正确的代码
/********** Begin **********/
//定义 User 公开类
public class User {
// 用户的两个私有属性:姓名、电话号码
private String name; // 用户姓名
private String tel; // 用户电话号码
// 无参构造
public User() {
}
// 有参构造
public User(String name, String tel) {
this.name = name;
this.tel = tel;
}
// 设置和获取用户属性信息
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getTel() {
return tel;
}
public void setTel(String tel) {
this.tel = tel;
}
}
/********** End **********/
3.PhoneManage.java(方法类)
package step5;
import java.util.Scanner;
public class PhoneManage {
/**
* 参数 users
* 新增用户信息
*/
public void addPhone(User[] users,Scanner sc) {
// 将键盘输入的用户信息存入用户对象中
System.out.println("请输入姓名:");
String name = sc.next();
System.out.println("请输入手机号:");
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,Scanner sc){
// 获取键盘输入的用户名
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;
}
}
}
public void changePhone(User[] users,Scanner sc) {
// 获取要修改用户的名称
System.out.println("请输入你要修改用户的名称:");
String editname = sc.next();
// 在用户对象数组中找到对应的用户信息
for (User z : users) {
if (z != null && editname.equals(z.getName())) {
// 将该用户的电话修改为键盘输入的新电话号码
System.out.println("请输入新电话:");
z.setTel(sc.next());
System.out.println("修改成功!");
break;
}
}
}
}
五、效果截图
六、总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了通讯录的增删改查等基本功能,主要实现一个通讯录的菜单管理功能。