java中,有一个通讯录,里面有姓名,电话,地址。现在需要通过姓名和电话号码查询,显示全部信息,这样的代码怎么写呀
1条回答 默认 最新
a5156520 2022-06-08 12:00关注下面是我的思路,(不知道是否满足你的要求):
首先定义一个通讯录类,字段包含姓名、电话、地址,然后构造其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 + "]"; } }
解决 无用评论 打赏 举报 编辑记录