当前位置: 首页 > news >正文

简单通讯录管理系统(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;
            }
        }
    }

}

五、效果截图


 

 六、总结

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

相关文章:

  • wordpress密码阅读/免费推广平台哪些比较好
  • 网站建设用英文怎么说/百度访问量统计
  • 海外做bt种子网站/seo查询是什么意思
  • 做营销网站 如何让商家入驻/seo自学网官网
  • 免费做微商代理/seo在线推广
  • 文档里网站超链接怎么做/武汉seo引擎优化
  • Paxos 算法
  • Spring中自动注入的两种方式
  • 面试基础篇——ArrayList扩容机制
  • Android——8种通知栏-适配 Adnroid12
  • 微服务项目常用术语
  • BASE理论
  • 【Go实现】实践GoF的23种设计模式:代理模式
  • Java多线程案例----单例模式[饿汉模式,懒汉模式]
  • 【图解CAN总线】-7-Classic CAN 2.0总线网络“负载率”计算(方法二)
  • 【C++】引用
  • 编译protoc方法名称被自动大写
  • LabVIEW应用程序exe和安装程序的区别