Educoder-第1关:简单通讯录管理系统之添加用户信息(答案页,未攻破)

题目未攻破,这是答案页,帮助理解
1.

// 请在下面的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 **********/
PhoneManage.java

import java.util.Scanner;
public class PhoneManage {
    // 请在下面的Begin-End之间按照注释中给出的提示编写正确的代码
    /********** Begin **********/
    // 实例化 Scanner 对象
    Scanner sc = new Scanner(System.in);
    /**
     * 参数 users 用于存储通讯录所有的用户信息
     * 新增用户信息
     */
    public void addPhone(User[] users) {
        // 将键盘输入的用户信息存入用户对象中
        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;
            }
        }
    }
    /********** End **********/
}
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;
            }
        }
    }
    // 请在下面的Begin-End之间按照注释中给出的提示编写正确的代码
    /********** Begin **********/
    /**
     * 参数 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());
            }
        }
    }
    /********** End **********/
}

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());
            }
        }
    }
    // 请在下面的Begin-End之间按照注释中给出的提示编写正确的代码
    /********** Begin **********/
    /**
     * 参数 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;
            }
        }
    }
    /********** End **********/
}

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 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;
            }
        }
    }
    /********** End **********/
}

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 **********/
    }
}

  • 11
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
实现了以下要求说明的功能: 1.要求使用GUI,采用 Swing 技术数据存储采用文件系统(可以是文本 文件、xml 文件、vCard 文件或其他自定义格式文件,但不能是 Excel 文件)。不 使用数据库。 2. 通讯录中每个项目包括: ( 1)基本信息:姓名、手机号码、电子邮箱、生日、所属组、备注、像片。 ( 2)工作单位:国家、省份、城市、地址、工作单位、所属部门、职位、 邮编、电话、传真 ( 3)网络信息:个人主、即时通信工具及号码、备用邮箱 ( 4)家庭资料:国家、省份、城市、地址、邮编、电话 3 .通讯录数据的录入功能:输入并存储新的通讯录数据,输入时如果有同 名或同电话号码时,应该给出提示。 4 .通讯录数据的查询功能: ( 1)默认列出所有条目。 ( 2)模糊查询,可以按:姓名、电话号码、手机、姓名的汉语拼音的声母 或全拼查询。支持模糊查询即输入部分数据后,可以查询出符合条件的全部条目。 如:输入“张”,列出所有名字中有“张”的条目;输入“ 2645”列出电话中有 该 4个数字的所有条目;输入“xl ”,列出声母为该 2 个字母的所有条目 ( 3)指定分组后,列出某分组的所有条目 说明:查询结果如果有多个条目,应按照姓名排序,并使用姓或姓的第一 个汉语拼音的字母分类。 5 .删除和修改功能:查询到一个条目后,可以删除该条目或修改条目内容。 6 .通信录内容的导入和导出功能。要求能够以CSV 格式和 vCard 格式导入 和导出通讯录的全部内容。并能够与主流手机或其他通讯录软件交换数据。 7 .通讯录显示设置,可以设置在显示查询结果时,一个条目可以显示或不 显示哪些内容。 注意:本系统实现了读取和保存csv文件,同时csv文件中只保存了图片的路径。
好的,我可以为您介绍一下Java简单通讯录管理系统添加用户信息的方法。 1. 首先,您需要定义一个用户类,这个类包含用户姓名、电话、地址等信息的属性以及相应的get和set方法。 2. 在主程序中,您需要定义一个用户列表,用于存储所有的用户信息,可以使用List集合实现。 3. 接下来,您可以编写一个添加用户信息的方法,该方法接收用户输入的姓名、电话、地址等信息,并将其封装成一个用户对象,添加到用户列表中。 4. 在添加用户信息的方法中,您可以使用Scanner类获取用户输入的信息,并调用用户类的set方法设置用户属性。 5. 最后,您可以编写一个显示用户列表的方法,该方法遍历用户列表并输出每个用户的姓名、电话、地址等信息。 下面是一个简单的示例代码: ```java import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class ContactList { private List<User> userList; public ContactList() { userList = new ArrayList<>(); } public void addUser() { Scanner input = new Scanner(System.in); System.out.print("请输入姓名:"); String name = input.nextLine(); System.out.print("请输入电话号码:"); String phone = input.nextLine(); System.out.print("请输入地址:"); String address = input.nextLine(); User user = new User(); user.setName(name); user.setPhone(phone); user.setAddress(address); userList.add(user); System.out.println("添加成功!"); } public void showUserList() { if (userList.size() == 0) { System.out.println("暂无用户信息!"); return; } System.out.println("姓名\t\t电话\t\t地址"); for (User user : userList) { System.out.printf("%s\t\t%s\t\t%s\n", user.getName(), user.getPhone(), user.getAddress()); } } public static void main(String[] args) { ContactList contactList = new ContactList(); while (true) { System.out.println("1. 添加用户信息"); System.out.println("2. 显示用户列表"); System.out.println("3. 退出"); System.out.print("请选择操作:"); Scanner input = new Scanner(System.in); int choice = input.nextInt(); switch (choice) { case 1: contactList.addUser(); break; case 2: contactList.showUserList(); break; case 3: System.exit(0); default: System.out.println("输入有误,请重新输入!"); } } } } class User { private String name; private String phone; private String address; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } } ``` 希望对您有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

鬼鬼骑士

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

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

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

打赏作者

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

抵扣说明:

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

余额充值