简单通讯录管理系统(Java)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

一、题目:

    任务在之前的练习任务中,我们已经实现了通讯录的增删改查等基本功能,主要实现一个通讯录的菜单管理功能。

二、编程要求

仔细阅读右侧编辑区内给出的代码框架及注释,在 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;
            }
        }
    }

}

五、效果截图


 

 六、总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了通讯录的增删改查等基本功能,主要实现一个通讯录的菜单管理功能。

  • 11
    点赞
  • 108
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

酷酷滴Q

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值