当前位置: 首页 > 知识库问答 >
问题:

在通讯簿中搜索信息

尉迟德惠
2023-03-14

我正在尝试制作一个地址簿,提示您输入三个人的第一个,最后一个街道地址,城市,州和邮政编码。

然后能够搜索用户输入的任何信息,然后显示该人的所有信息。

我已经设法让它提示用户添加信息,但我似乎不知道如何在数组列表中搜索信息。

for (int count = 0; count < 3; count++)
  {
    aBook.add(new YAAddressBook());
    aBook.get(count).addEntry();
    System.out.println();
  }

  int foundIndex = YAAddressBook.search(aBook);
  System.out.println();
  if (foundIndex > -1)
    aBook.get(foundIndex).display();
  System.out.println("Found");
  else
  System.out.println("No Entry Found");
}
}//end YoungAndrewChapter10


import java.util.ArrayList;
import java.util.Scanner;

public class YAAddressBook
{
  private static String first;
  private static String last;
  private static String choice;
  private static String searchA;
  private static Scanner keybd = new Scanner(System.in);
  private String street;
  private String cityState;
  private String zip;
  private int answer = 0;

  public static int search(ArrayList<YAAddressBook> aBook)
  {
    System.out.print("Search Menu: \n1. Search First Name \n2. Search Last
      Name\n3.Search Street Address \n4.Search City, State \n5.Search Zip Code \n\n");

     System.out.print("Please Enter Field to Search: ");
    choice = keybd.nextLine();

    System.out.print("Please Enter Value to Search For: ");
    searchA = keybd.nextLine();

    switch (choice)
    {
      case "1":
        break;
      case "2":
        break;
      case "3":
        break;
      case "4":
        break;
      case "5":
        break;
      default:
        break;
    }
    return -2;
  }

  public void addEntry()
  {
    YAAddressBook aBook = new YAAddressBook();
    System.out.print("Please Enter First Name: ");
    first = keybd.nextLine();
    System.out.print("Please Enter Last Name: ");
    last = keybd.nextLine();
    System.out.print("Please Enter Street Address: ");
    street = keybd.nextLine();
    System.out.print("Please Enter City, State: ");
    cityState = keybd.nextLine();
    System.out.print("Please Enter Zip Code: ");
    zip = keybd.nextLine();
  }
}//end YAAdreesBook

共有1个答案

梁盛
2023-03-14

根据选择的字段,您必须遍历所有数组列表,直到找到正确的项目,例如,如果选择了FirstName:

for (int i = 0; i< addressbook.size(); i++)
{
     if (addressbook.get(i).FirstName == "Tom" )
             return addressbook.get(i);
}
return null;

这将返回与搜索匹配的第一个元素,如果没有匹配的元素,则返回 null

 类似资料:
  • 本文向大家介绍android仿微信通讯录搜索示例(匹配拼音,字母,索引位置),包括了android仿微信通讯录搜索示例(匹配拼音,字母,索引位置)的使用技巧和注意事项,需要的朋友参考一下 前言: 仿微信通讯录搜索功能,通过汉字或拼音首字母找到匹配的联系人并显示匹配的位置 一:先看效果图 字母索引 搜索匹配 二:功能分析 1:汉字转拼音 通讯录汉字转拼音(首个字符当考虑姓氏多音字), 现在转换拼音常

  • 为什么使用SpringBoot框架(SpringBoot的优点) 事务失效的场景有哪些 Spring事务是如何实现的 IOC基于什么设计模式 Spring注入的方式有哪些 @Autowrited 和@Resource 注解区别 说说重载重写的定义与区别 操作系统死锁的四个条件 Java是什么传递方式?值传递还有引用传递 如何优化sql 索引失效有哪些 创建线程的方以及区别 UDP和TCP协议的区别

  • 你所搜寻的事情的本质决定了你应该如何去寻找它。 如果你需要客观的而且容易辨认的关于具体事物的信息,例如一个软件的最新补丁版本,可以在Internet搜索,礼貌的询问很多的人,或者发起一个讨论组。不要在网上搜索任何带有观点或主观解释的东西:能够抵达真相的概率太低了。 如果你需要“一些主观的普遍知识”,人们对这些东西已有的思考历史,那就去图书馆吧。例如,想要了解数学,蘑菇或着神秘主义,就去图书馆吧。

  • 1、面试官介绍组里干啥的 2、 自我介绍 3、预计实习时间 4、new 和 malloc 区别 5、malloc可以重载吗 6、智能指针 7、**智能指针和裸指针性能区别** 8、智能指针和裸指针访问速度 9、**智能指针内部怎么实现的访问控制** 10、linux排查性能问题 11、linux 排查内存问题 12、介绍一下你的项目 13、epoll如何选择哪个线程处理业务逻辑 14、如何处理惊群

  • 在测试此文本时,我在要在文本中搜索的列上创建了lucene(3.0.1)索引: 如果我按关键字搜索,它会给出结果,但按 我正在使用standardAnalyzer: 因为已设置,它应创建令牌,并且应存在$GLD。Analyzer将从文本中删除停止字,因为word也将在该过程中删除。

  • 在springboot中,您可以拥有一个