java中通过姓名和电话号码查询通讯录信息的代码怎么写

java中,有一个通讯录,里面有姓名,电话,地址。现在需要通过姓名和电话号码查询,显示全部信息,这样的代码怎么写呀

下面是我的思路,(不知道是否满足你的要求):
首先定义一个通讯录类,字段包含姓名、电话、地址,然后构造其get方法(用于访问字段)以及toString方法(用于打印对象的信息),以及构造方法(用于创建对象);
然后在main方法,创建并初始化一个通讯录数组(用于测试查找),再从输入获取一个姓名,然后遍历数组,看通讯录数组是否存在此姓名,如果存在则打印其信息,如果不存在则提示没找到;同理再从输入获取一个手机号码,遍历数组查找,找打就打印其信息,没有找到就提示没找到。


参考资料:
java错误:编译出错,提示 The literal XXXXXXXXXXXXXXXX of type int is out of range_I_belong_to_jesus的博客-CSDN博客
java如何创建对象数组-java基础-Python学习网
下面是一个实现,供参考:

import java.util.Scanner;

public class MailList {

    public String name; //姓名
    public long phone;  //电话
    public String address;  //地址
    
    //参考资料:
    //https://blog.csdn.net/fangfanglovezhou/article/details/111294994
    //https://m.py.cn/java/jichu/28875.html
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        //初始化包含三个通讯录的数组,用于下面查询测试
        MailList[] ms = new MailList[3] ;
        ms[0]=     new MailList("张三",(long)15623657995L,"北京朝阳区");
        ms[1]=    new MailList("李四",(long)13600215489L,"广州天河区");
        ms[2]=    new MailList("小花",(long)17698581452L,"深圳三和大市场");
    
        
        Scanner sc  = new Scanner(System.in);
        System.out.print("请输入要查询的姓名:");
        String name = sc.next();    //获取一个姓名要与查询其信息
        int find=0;
        for(int i=0;i<ms.length;i++) {  //遍历通讯录数组,如果找到指定名字,则打印其信息
            if(ms[i].getName().equals(name)) {                
                System.out.println(ms[i].toString());
                find=1; //标志已找到,以区别于遍历整个数组都没找到的情况
                break;
            }
        }
        if(find==0) {  //如果没有知道,打印提示信息
            System.out.println("没有找到姓名为\""+name+"\"的人员信息!");
        }
        
        find=0;
        System.out.print("请输入要查询的手机号码:");
        long phone = sc.nextLong(); //获取一个电话号码
        for(int i=0;i<ms.length;i++) {  //遍历数组,以查找数组内是否存在这个电话号码,如果找到就打印其信息
            if(ms[i].getPhone()==phone) {
                System.out.println(ms[i].toString());
                find=1;  //找到,标志置1
                break;
            }
        }
        if(find==0) {  //如果没有找到
            System.out.println("没有找到手机号码为"+phone+"的人员信息!");
        }
        
        
    }

    
    public String getName() {
        return name;
    }



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



    public long getPhone() {
        return phone;
    }



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



    public String getAddress() {
        return address;
    }



    public void setAddress(String address) {
        this.address = address;
    }



    


    public MailList() {
        super();

    }
    public MailList(String name, long phone, String address) {
        super();
        this.name = name;
        this.phone = phone;
        this.address = address;
    }

    


    @Override
    public String toString() {
        return "MailList [name=" + name + ", phone=" + phone + ", address=" + address + "]";
    }
    
    
    
    
}

img