初级模拟通讯录

要求:系统能够初步实现增删改查

 

public class Contacts {
    private  int no;//编号
    private String name;//姓名
    private int phone;//电话号码
    private int qq;//qq号码
    private String email;//电子邮箱

    public Contacts() {
    }

    public Contacts(int no, String name, int phone, int qq, String email) {
        this.no = no;
        this.name = name;
        this.phone = phone;
        this.qq = qq;
        this.email = email;
    }

    public int getNo() {
        return no;
    }

    public void setNo(int no) {
        this.no = no;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getPhone() {
        return phone;
    }

    public void setPhone(int phone) {
        this.phone = phone;
    }

    public int getQq() {
        return qq;
    }

    public void setQq(int qq) {
        this.qq = qq;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    @Override
    public String toString() {
        return "Contacts{" +
                "no=" + no +
                ", name='" + name + '\'' +
                ", phone=" + phone +
                ", qq=" + qq +
                ", email='" + email + '\'' +
                '}';
    }
}

===============华丽分割线===================

class TongXun{
    private Contacts[] co = new Contacts[10];
    private int index;

    public TongXun() {
    }

    public TongXun(Contacts[] co, int index) {
        this.co = co;
        this.index = index;
    }

    public int getIndex() {
        return index;
    }

    public void setIndex(int index) {
        this.index = index;
    }

    public Contacts[] getCo() {
        return co;
    }

    public void setCo(Contacts[] c0) {
        this.co = co;
    }


    //添加联系人
    public boolean add(Contacts c){
        if(index>co.length){
            System.out.println("容量不足");
            return false;
        }
        co[index]=c;
        index++;
        System.out.println("添加完成");
        return true;
    }

    //查看所有联系人昵称和手机号
    public void look(){
        for (int i = 0; i <co.length ; i++) {
            if(co[i]!=null){
                System.out.println("姓名:"+co[i].getName()+" "+"电话号:"+co[i].getPhone());
            }
        }
    }

    //根据编号删除指定联系人
    public boolean del(int no){
        for (int i = 0; i < co.length; i++) {
            Contacts s = co[i];
            if (Objects.nonNull(s)&&Objects.equals(s.getNo(),no)){
                co[i]=null;//当前元素置为空
                //后续元素向前移动一位
                System.arraycopy(co,i+1,co,i,co.length-index-1);
                index--;
                return true;
            }
        }
        return false;
    }

    //根据名字显示联系人所有信息
    public void show(String name){
        for (int i = 0; i <co.length ; i++) {
            Contacts s = co[i];
            if (Objects.equals(s.getName(),name)){
                System.out.println(s);
                break;
            }else if (i==co.length-1){
                System.out.println("不存在该联系人");
            }
        }
    }

    //根据编号修改手机号
    public void amend(int no){
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入新的手机号:");
        for (int i = 0; i <co.length ; i++) {
            if (co[i].getNo()==no) {
                co[i].setPhone(sc.nextInt());
                break;
            }else if (i==co.length-1){
                System.out.println("不存在该编号人");
            }
        }
    }

}

===============华丽分割线===================

class TextC{
    static Scanner sc = new Scanner(System.in);
    static TongXun to = new TongXun();

    public static void start(){
        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("0,退出系统");
        System.out.println("==========================");
        switch (sc.nextInt()){
            case 1:
                addco();
                break;
            case 2:
                listco();
                break;
            case 3:
                delSco();
                break;
            case 4:
                showco();
                break;
            case 5:
                amendco();
                break;
            case  0:
                System.out.println("退出完成");
                break;
            default:
                System.out.println("指令错误,请重新输入");
                start();
        }
    }

    private static void amendco() {
        System.out.println("请输入联系人编号");
        int no = sc.nextInt();
        to.amend(no);
        start();
    }

    private static void showco( ) {
        System.out.println("请输入联系人姓名");
        String name = sc.next();
        to.show(name);
        start();
    }

    private static void delSco() {
        System.out.println("请输入编号");
        int no = sc.nextInt();
        if (to.del(no)){
            System.out.println("删除成功");
        }else {
            System.out.println("联系人不存在");
        }
        start();
    }

    private static void listco() {
        to.look();
        start();
    }

    private static void addco() {
        System.out.println("请输编号:");
        int no = sc.nextInt();
        System.out.println("请输入姓名:");
        String name = sc.next();
        System.out.println("请输入手机号:");
        int phone = sc.nextInt();
        System.out.println("请输入邮箱:");
        String email = sc.next();
        System.out.println("请输入qq:");
        int qq = sc.nextInt();
        Contacts s = new Contacts(no,name,phone,qq,email);
        if (to.add(s)){
            System.out.println("添加成功");
        }else {
            System.out.println("添加失败");
        }
        start();
    }

    public static void main(String[] args) {
        start();
    }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值